.NET Iot 不是什么新鲜事物,百科很强大,故老周在此也不必多介绍。现在的时代和老周当年学 QBasic 的时代不同,那时候拉根电话线上网,下载速度只有可怜的 3.5 kb/s。而且还要去店里买上网卡。上网卡用完了(计时的哟)还要再买。除了买上网卡的钱外,还要交 0.2 元/分钟的附加费(中国电信收)。
所以,你想想那时候有些什么概念、名词解释不懂的,都是往书上找,或者往图书馆跑;到了图书馆还要交 100 大洋的押金。上网成本高,速度慢,很多东西都懒得上网查。
现在不同了,小孩子们多幸福!几乎每天在线 20 小时以上。网络也基本覆盖,所以呢,名词解释之类的东西就不必像以前那么当回事了,啥时候需要,直线网上找。
老周习惯在开始之前扯些题外话,多年养成的坏习惯,打70大板也改不了,请各位莫见笑。
老周接下来计划写一系列烂文,主要讲述用.NET开发硬件控制方面的东东(其实这个挺好玩的,上大学的时候居然没有机会玩,可惜了,不然泡几打小学妹不成问题)。当然了,要在板子上跑.NET 程序,对开发板是有要求的——起码无操作系统的板子就没办法了。有操作系统的板子里面,名气较大的当数树莓派了。
树莓派以前在书上看过,但不流行网购的年代,去实体店根本买不到(也不知道上什么类型的店买)。所以,一直没机会去体验一下。之后就放一边了,也没去想了。但若干年后回头想想,还是要玩一下的,不然这码农生涯就不专业,不完美了。于是,模糊地记得在 201x 年从二手平台买了一块,也不知道是几代(肯定不是3、4代)的,买回来只是装了系统耍了两下。然后……说起来丢人,吃灰了。
疫情快一周年了,相信各位都记得 2020 年那个春节的,反正我是觉得比当年“非典”时还恐怖。当初“非典”横行时,我们还正常上学上课,只是个别工厂没开工,也没戴口罩,最多就是用消毒粉洗洗地。也许是当年信息滞后的原因吧。
于是就宅在家里搞破坏,就想着把一些电器(尤其是一些什么智能台灯、DVD机的)自己改装一下,能不能弄成像小时候在奥特曼里面看到的那些高大上设备,可以远程控制,还可以用手招呼一下就能控制家里的东西——大概就是现在所谓的“智能家居”吧。看着别人演示总觉得不够意思,自己弄出来的才有成就感,就算弄成了人工智障也不要紧,重点是自己亲自体验过。
最初的思想火花就是想用无线网络来控制各种遥控器,想想在家里放几个红外发射器,然后树莓派上运行个Web服务器,这样各种客户端只要开个浏览器就可以控制红外发射器,家里的电视、盒子、风扇、电灯、红外摄像头就可以集成在一块了。遥控的键码可以用红外接收模块记录,然后存入数据库。用的时候从数据库里提。
头脑一发热,做事就迅速。在某宝买了一块 Raspberry Pi4 B型。买回来一看,哇,your god,还是 1.4 版本,挺新鲜的。
其实嘛,那个最初的想法并没有完全实现,仅仅控制了两台DVD和一个“芒果云”智能盒子而已。
好,又扯多了。本篇作为这一系列的开头,咱们不写代码,老周简单说说要准备些什么工具和装备。
一、软套装软件方面,很简单。
1、开发工具。我们熟悉的 Visual Studio,或者 VS Code都行。
2、开发机。这个嘛,还是在电脑上写代码的好,树莓派那点配置还是挺弱的。
3、树莓派上的系统。这个还是用官方的系统好一点。这里老周说一个事,官方系统有个轻量级版本(Lite),就是带 Linux 核心功能,没有桌面部分,也没有带附加软件,纯命令控制。这个版本其实很好,但是总出现一个现象——开机不会自动连接无线网(配置了也没用),或者一直提示正在搜索网络。但是,安装带桌面的版本就没有这个问题。这个问题一直存在,目前不知原因。
二、树莓派开发板必备件买板子时,你需要买一张 Micrio SD 卡,就是你手机用的内存卡。老周建议 32 G吧,16和32的价格差不多的,所以不如直接上32。如果你有很多内存卡,那就不用买了。有些某宝店卖的杂牌卡,还宣称树莓派专用,其实压根不必要。老周做过测试,用了几个世纪的金士顿(从行车记录仪上拔下来的)和闪迪(手机和电视盒子上都用),写入系统后正常运行,而且速度还不错。总之,随便即可。
写入系统镜像是在电脑上进行(多数情况下是这样的)的,所以,读卡器要有,或者如果你有带内存卡口的 USB Hub 也行。这个老周建议买好的,质量太差的真的用出一大堆问题来。老周家里的各种集线器、转换线都是绿联的,不是做广告,真的好用。记得前两年,买了个外置光驱,那种 0.8 元包邮的数据线老是识别不了光驱,识别出来了,读碟时经常断。我曾怀疑过光驱,但用戴尔笔记本拆出来的光驱测试也是不行。最后买了一根绿联的线。即插即识别,而且不断线。真的,一分价钱一分货。
关于电源,树莓派的供电口好像每一代都不太一样,我买的 4 代是 C 口。原装电源挺贵的,可以买其他的,5V / 3A 即可。另外,还有两种选择:
1、充电宝。新款都能输出最大 3A 的。
2、带外部供电的 USB Hub。比如这种。