【连载,完结】物联网全栈教程-从云端到设备---简单介绍单片机代码,裸机上云!

简介: 物联网全栈教程-从云端到设备(完结 十四) 一 设备端的开发是一个非常简单的工作。零妖今天就简单讲解一下物联网弹幕器这个设备的源代码,给大家提供一个裸机上云的思路。连载文章更新到这里要告一段落,因为真的没啥要讲的了。

物联网全栈教程-从云端到设备(完结 十四)

设备端的开发是一个非常简单的工作。零妖今天就简单讲解一下物联网弹幕器这个设备的源代码,给大家提供一个裸机上云的思路。连载文章更新到这里要告一段落,因为真的没啥要讲的了。

 

首先要说的是使用技小新的MQTT单片机编程小工具生成一个C语言的头文件,这个在之前的文章里已经说过了。你的单片机要干的事情就是通过串口把这些16进制的数据发送给CH9121模块,然后CH9121模块会自动把这些数据打包一下以TCP的形式发送给服务器。

 32ca483afbfc57a798720a722875e8f2afce27aa

 

单片机的串口资源真的非常好用。STM32F103C8T6这个型号的单片机有三个可以独立使用的串口资源,物联网弹幕器真正用的其实是两个,一个是串口1和电脑的串口连接,调试代码时候输出数据用的,一个是串口3用来和CH9121通信用的。在代码上你可以让串口1和串口3连接在一起,这样就可以在电脑上发送数据给CH9121了,实现的方法请看代码。

 

 2f652b47148d7347e2ce6a9d139ac11a61c5fd4f


 b7978c17271169350a6b6c5de14a1f58cf811ad7

 

在单片机的内部程序里,也是可以控制串口3发送任何数据的,所以就能发送小工具生成的数组到CH9121了。代码如下。

 

 fe94d579f62fe9db311369c863c51dcc73b92b0b

从云端下发给设备的信息可能每次都不一样,比如说弹幕信息,每个人发送的都不一样那么单片机接收的数据长度就不一样,这需要你使用循环队列的方法来接收数据。首先你要预测一下云端一次性有可能下发数据的最大字节数,然后队列缓冲区的大小要是它的两倍以上。这样的处理可以非常有效的防止数据接收丢失的问题。

 f8ddcb52d8f22ebbd4872986ac953c5b030c37e8

 

为了示范物联网设备的数据上报流程,物联网弹幕器上面安装了一个温度传感器。这个温度传感器输出的是一个电压信号,这个电压的大小是和温度成正比例关系的。单片机能够通过一种叫ADC的方法来获取这个电压数值,然后就可以计算温度了。

 f8ddcb52d8f22ebbd4872986ac953c5b030c37e8

 

在开始做规划的时候,我从来没有认为显示一个汉字会是整个项目中最大的绊脚石。从网页上下发的弹幕信息是一个字符串,这个字符串是UTF8编码的,英文字母一切正常,但是涉及到汉字就一定会乱码,因为单片机这边按照往年经验直接做了GBK编码的处理。

经过零妖老哥的不断摸索,终于发现了一个曲折的救国之路,就是先把UTF8编码转换为Unicode编码,然后再把它转化为能够显示再OLED上面的点阵信息,存到外部存储器里面,需要的时候就读取一下并显示出来。相关代码如下:

 b091e6b81efbc36463e875df2de3690c2e97a1da

 e7c262f8c627621a76e5b08111ef3a40616f419c

 

好了,零妖老哥的物联网全栈教程分享到这里就结束了。感谢各位兄弟的支持和鼓励让我有动力连载完毕(坚持做一件事情真的好难)。尤其感谢阿里巴巴IOT事业部的同学提供技术上的帮助。

有很多的想法和具体的细节是没办法在一个文章里写清楚的,为了能帮助更多的朋友快速上云,零妖把这个教程拍成了一个系列的视频教程,同时提供了物联网弹幕器的相关硬件(前面已经给了你开源地址,你完全可以自己做硬件哦)给想节约时间的工程师评估物联网项目使用。

                                                                          

 

写在最后:祝你抓住物联网市场的1%的机会!

 

 

 

 

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
10天前
|
存储 安全 物联网
C语言物联网开发之设备安全与代码可靠性隐患
物联网设备的C语言代码安全与可靠性至关重要。一是防范代码安全漏洞,包括缓冲区溢出和代码注入风险,通过使用安全函数和严格输入验证来预防。二是提高代码跨平台兼容性,利用`stdint.h`定义统一的数据类型,并通过硬件接口抽象与适配减少平台间的差异,确保程序稳定运行。
|
4月前
|
C语言
【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。
【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。
|
4月前
|
C语言
51单片机汇编语言流水灯代码
51单片机汇编语言流水灯代码
|
5月前
|
安全 物联网 区块链
云端防御:云计算时代的网络安全策略与实战《未来已来:探索区块链、物联网与虚拟现实的融合革新》
【7月更文挑战第31天】在数字化转型的浪潮中,云计算已成为推动企业增长的核心动力。然而,随着数据和应用逐渐迁移到云端,网络安全问题也愈发严峻。本文将探讨云计算环境中的安全挑战,并提出相应的防御策略。通过分析云服务模型、安全威胁及信息安全技术的应用,结合代码示例,本文旨在为读者提供一套实用的云端安全防护方案。
49 1
|
5月前
|
机器学习/深度学习 传感器 边缘计算
云端物联:智能物联网平台引领数字化转型之路
云上智能物联网平台正在成为推动数字化转型的重要力量。它不仅为企业带来了新的商业模式和发展机会,也为消费者提供了更加便捷和个性化的服务体验。
|
7月前
|
传感器
51单片机循迹小车原理介绍和代码示例
51单片机循迹小车原理介绍和代码示例
51单片机循迹小车原理介绍和代码示例
|
7月前
|
传感器
51单片机矩阵键盘超详解!(内含LCD1602代码)
51单片机矩阵键盘超详解!(内含LCD1602代码)
【51单片机】自定义动态数码管显示(设计思路&原理&代码演示)
【51单片机】自定义动态数码管显示(设计思路&原理&代码演示)
【51单片机】自定义静态数码管显示(设计思路&代码演示)
【51单片机】自定义静态数码管显示(设计思路&代码演示)
|
7月前
|
C++
【51单片机】添加模块代码的常见问题(图示&代码演示)
【51单片机】添加模块代码的常见问题(图示&代码演示)

相关产品

  • 物联网平台