本帖最后由 alwxkxk 于 2019-1-22 15:33 编辑
《软硬结合—从零打造物联网》
在大学里不同专业有着不同的“最高境界” ,机械类与强电类专业学生追求的是 “机电合一”,弱电类专业学生追求的是 “软硬结合” 。我作为华南某农业大学的弱电类学生,追求软硬结合,既懂点硬件,也懂点软件,一个人能解决一个产品整个研发过程,所有创意想法基本都能靠自己去实现。在这里,以物联网项目为主方向分享web开发教程,适合硬件开发人员学习的web开发教程。
想做一个完整的物联网项目,首先要搞清所有环节。当年我毕业设计(2017年毕业)的项目示意图:
一个物联网项目如图所示,从左到右分别是用于采集数据的硬件传感器,硬件主控芯片、用于传输数据的通信模块、用于存诸数据与提供访问请求的 服务器 、用于将数据展示出来并提供操作的可视化界面(就是HTML客户端,即浏览器上的网页显示,后面简称 界面 )。
服务器这概念多说一下,因为后面会反复用到,在大一大二我们做的纯硬件项目大约是这样的:硬件采集完数据,传输到LCD显示屏直接显示出来,这并没有所谓的服务器这一说。而平时手机打开网页,所显示的图片文件都是数据,所有数据都存放在一台电脑里。这台电脑不仅存放了这些数据,而且能够在你请求获取这些数据时把数据传输给你(提供服务)。这台电脑就是存放在数据中心机房里的服务器,持续稳定地24小时不间断地运行,为用户提供服务。由专门的运维人员进行管理维护,这些云服务器可以在阿里云、腾讯云等云服务器厂商租用(当然你也可以自己买一台真实的服务器扔在自己家里玩)。
但写教程的过程中发现,用当年我毕设的方案来讲解,难度比较高。硬件方面STM32有一定门槛的,一般大学生到了大三能用它做一两个项目都被称为大神了(top5,电子科大等学校除外)。硬件与服务器通信协议上,我选择了websocket协议(当年机智云很火,我模仿了它),而整个ESP8266开发存在极高的难度(就是它浪费了我很多时间)。主要难度在这两点,经过研究探索,硬件改用nodemcu(十几块钱就能淘宝到),并使用Arduino IDE进行开发降低硬件门槛。通信协议上使用TCP协议。具体可看教程demo1
整个教程已经初步完成,并且慢慢完善。
有兴趣的朋友请到网页上访问:
https://www.scaugreen.cn/posts/44755/
https://github.com/alwxkxk/soft-and-hard
软硬结合交流群:638456092
|