首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用USB配置用于仿真以太网的Raspberry Pi Zero

昨天的文章是《制作区块链钱包(七) | 使用角度依赖性配置Angular模块》,主要讲述了【捆绑和构建GolangAngular应用程序】等内容。点击可以查看哟

作者:Nic Raboy

翻译:Dean

排版:技术僧

本教程的主要观点之一是我们使用的Raspberry Pi Zero没有WiFi,没有蓝牙作为我们的硬件钱包。这让我们几乎没有机会与Raspberry Pi Zero沟通。通过在USB上启用以太网仿真,我们不仅可以从主机向设备进行SSH连接,而且还可以侦听来自其他方向的事情,因此我们的API和Angular应用程序也是如此。只有主机可以访问应用程序,而不是网络上的其他计算机。

在Raspberry Pi Zero上安装Raspbian Lite

Raspbian Linux是我用过的Raspberry Pi Zero中唯一使用的Linux发行版,因此它是本教程的必备条件。其他发行版可能会工作,但我不知道如何启用以太网仿真。

从Raspberry Pi网站下载最新的Raspbian Lite图像。

如果您使用Mac,请安装SD卡并执行以下命令:

从列表中找出正确的驱动器并使用类似下面的方法卸载它:

请记住选择正确的磁盘,不要复制和粘贴我的命令,否则可能会破坏重要的东西。

现在,您可以将Raspbian Linux安装到未安装的驱动器上:

在上述命令中,您将要使用正确的图像文件和路径以及SD卡的正确磁盘。通过在磁盘中添加'r',该命令将快速完成。但是,两者都可以工作。

如果您在Windows或Linux上,这些命令会有点不同。不幸的是,我正在使用Mac,并没有针对其他操作系统的解决方案。

如果您想了解更多有关在Raspberry Pi上安装Raspbian Linux的信息,请参阅我以前的教程,名为“使用Raspberry Pi作为无监视器的无头系统”。

通过USB模拟以太网

将格式化的SD卡连接并安装到主机上。在我们将它放入Raspberry Pi Zero之前,我们需要更改一些设置。如果您在Mac上,请转到/ Volumes / boot。

首先要做的是在这个路径中放置一个ssh文件。该文件应该没有扩展名也没有数据。通过放置这个文件,我们将能够进入Pi Zero。要通过USB模拟以太网,我们需要更改两个文件。

打开/Volumes/boot/config.txt文件并在底部包含以下行:

接下来,打开/Volumes/boot/cmdline.txt文件并在rootwait参数后包含modules-load = dwc2,g_ether。 这个cmdline.txt文件是空格分隔的,格式是非常重要的。

如果您想了解更多关于仿真USB以太网的信息,请查看我以前的教程,名为“用USB电缆和SSH连接到Raspberry Pi Zero”。

此时,您可以将SD卡连接到Raspberry Pi Zero。

保护与Raspberry Pi Zero的连接

使用Raspbian的全新安装,您将剩下一个默认用户帐户,其中pi为用户名,raspberry为密码。 对于这样的敏感项目,保留默认值可能不是一个好主意。 相反,我们要使用SSH密钥。

通过USB端口将Raspberry Pi Zero连接到电脑,而不是电源端口。

假设您使用安装了Bonjour的Mac或Linux,请执行以下操作:

如果您使用的是Windows,请确保安装类似Bonjour的软件,以便能够通过其主机名来发现Pi Zero。 连接后,执行以下命令:

更改主机名称和其他您认为合适的设置。 我的主机名是coin.local,如我的Angular代码所示。

在不详细讨论如何在Linux上添加公钥的情况下,将公钥添加到〜/ .ssh / authorized_keys中,以便我们不需要明文密码即可进行连接。

添加公钥后,打开Raspberry Pi上的/ etc / ssh / sshd_config文件并将PasswordAuthentication设置为no。 在确认可以连接SSH密钥之前,不要执行此操作。

做完之后,您需要重新启动SSH服务:

Raspberry Pi Zero现在比开始时更加坚固。 您能做得更好吗? 绝对,但您可能想要做一些Linux研究。 Raspberry Pi锁定越多,硬件钱包越好。

在Raspberry Pi上部署应用程序并配置Linux服务

我们正在接近我们的Raspberry Pi Zero硬件钱包教程的结论。 我们只需要部署我们已经完成的工作,以便它可以用于生产。

为自动启动Linux服务创建系统脚本

每次我们插入以便能够访问我们的钱包时,必须通过SSH登录Raspberry Pi是一件麻烦事。 相反,我们应该为我们的应用程序创建一个自动启动服务。

在Raspberry Pi上创建/lib/systemd/system/open-ledger.service并包含以下内容:

该服务将在/ home / pi / open-ledger-micro路径上运行我们的二进制文件。 我们尚未上传我们的二进制文件,但在启用该服务后,它将在启动时运行。

在我们上传二进制文件之后,我们需要执行以下操作:

运气好的话,这个工作起来应该应该没有问题。

向SCP发送二进制文件

我们需要做的最后一件事是上传我们的交叉编译的二进制文件。 从主机上连接Raspberry Pi Zero,执行以下命令:

上面的命令假定您的二进制文件被称为open-ledger-micro,并且您使用coin.local作为您的Raspberry Pi主机名。

重新启动Raspberry Pi Zero并在您的Web浏览器中输入http://coin.local:12345。 如果一切顺利,您将拥有一个花式的小硬件钱包,其加密价格只有Ledger Nano S的一小半。

结论

您刚学会如何使用Golang,Angular和Raspberry Pi Zero创建加密货币硬件钱包。如果您完成了教程,我赞赏您,因为它很长。本教程的大部分内容都是从我以前编写的教程中获得的一些小部分,并在现实场景中使用它们。以前的教程中大部分(如果不是全部)包含视频,以免在设置问题时遇到困难。

关于该项目的一些结论性意见:

1、再说一次,在加密货币和密码学方面,我是一个爱好者,而不是专家。使用我自己冒险创建的任何东西,但如果您发现错误,请绝对回报。

2、确保您使用Raspberry Pi Zero上的数据端口,并使用充电和同步电缆,而不是充电电缆。我更喜欢Anker品牌的USB电缆。

3、我们选择了Go作为这个项目,因为Raspberry Pi Zero没有任何进一步的依赖关系,这可能会让它进一步面临风险。

4、如果您的主机上有Bonjour或类似的主机名,则可以访问主机名coin.local或任何您选择的主机名。任何可以通过主机名检测网络设备的东西。

这个项目可以可以从GitHub下载。我鼓励您为此做出贡献,让它变得更好。

https://github.com/nraboy/open-ledger-micro

本篇论文篇幅长于5w字,如果你能跟到这里,那恭喜你,你已经完成了一个属于自己的硬件钱包,可以去买点币或挖点币存在里面,说不定不久的将来会给你带来意想不到的收益。什么?不知道怎么买?继续关注我们,马上推出各种购币方法。

再在这里把目录给大家列一下:

1、《使用Raspberry Pi Zero和Golang制作硬件比特币钱包》

2、《开发比特币的私钥和公约思路逻辑、使用AES密码加密和解密电子钱包数据》

3、《以安全的方式管理电子钱包和钱币信息、在区块链上创建并签署广播交易》

4、《使用Gorilla Mux开发和服务API端点》

5、《用Angular,TypeScript和Bootstrap创建一个有吸引力的前端、在应用程序中的组件之间创建和导航》

6、《在应用程序中的组件之间创建和导航》

7、《使用角度依赖性配置Angular模块》

8、《使用USB配置用于仿真以太网的Raspberry Pi Zero》

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180415G07ULI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券