使用电视上的静态信号将Raspberry Pi变成了真正的随机数生成器。在国外,我们不再接收模拟地面广播,因此在电视上查找静态信号就像将其放在模拟频道上一样简单。
我使用的设置是插入Raspberry Pi的eSecure USB 8MP网络摄像头,我将其指向电视。我使用python脚本来计算随机数。
第一步是在电视上拍摄静电图像。为此,我在python中使用了子进程模块。
如您所见,这只是生成了fswebcam进程来拍照并将其另存为static.jpg。
下一步是将这些图像转换为黑白图像。我将Python图像库导入到脚本中,以操作和读取图像文件。
下图是这些黑白转换的示例。
下一步是遍历静态图像并读取每个像素的值。每个值可以是0或255,具体取决于像素是白色还是黑色。该值已输入到名为randomBits的变量中,其中白色像素为0,黑色像素为1。
然后,将该randomBits变量作为基数10写入输出文件。这意味着长二进制字符串将转换为十进制值并写入输出文件。该十进制数是从图像计算出的随机值。
完整的源代码可以从下面复制:
end
领取专属 10元无门槛券
私享最新 技术干货