0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

技新电子 2018-05-28 11:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

14.1.jpg

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

14.2.jpg

14.3.jpg

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

14.4.jpg

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

14.5.jpg

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

14.6.jpg

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

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

14.7.jpg

14.8.jpg

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2939

    文章

    47324

    浏览量

    407978
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    明晚:睿擎联网实战:传感器采集MQTT上云流程解析|问学直播

    传感器采集云端通信,一次直播打通联网链路开发!在
    的头像 发表于 11-25 18:31 220次阅读
    明晚:睿擎<b class='flag-5'>物</b><b class='flag-5'>联网</b>实战:<b class='flag-5'>从</b>传感器采集<b class='flag-5'>到</b>MQTT上云<b class='flag-5'>全</b>流程解析|问学直播

    【直播预告】下周三晚8点|睿擎联网实战:传感器采集MQTT上云流程解析

    传感器采集云端通信,一次直播打通联网链路开发!在
    的头像 发表于 11-21 17:07 1880次阅读
    【直播预告】下周三晚8点|睿擎<b class='flag-5'>物</b><b class='flag-5'>联网</b>实战:<b class='flag-5'>从</b>传感器采集<b class='flag-5'>到</b>MQTT上云<b class='flag-5'>全</b>流程解析

    芯源半导体在联网设备中具体防护方案

    (一)数据传输安全防护方案​ 在联网设备云端、其他设备进行数据传输时,芯源半导体安全芯片通过以下方式保障数据传输安全:​ 数据加密传输:
    发表于 11-18 08:06

    学习联网可以做什么工作?

    嵌入式软件和硬件,支持联网设备的功能实现。   数据分析师:负责联网
    发表于 10-11 16:40

    如何 MCU/MPU 角度保护联网应用?

    如何 MCU/MPU 角度保护联网应用?
    发表于 09-08 07:33

    联网远程控制系统:硬件接入业务赋能

    联网技术普及的当下,“千里之外控设备”已从概念变为现实——工厂管理员在办公室远程启停车间电机,农户通过手机调控大棚灌溉阀门,物业人员线上操作小区电梯维保模式,这些场景的实现,都依赖于
    的头像 发表于 08-27 15:50 692次阅读

    自动驾驶中常提的“”是个啥?有必要“”吗?

    和应用,涵盖底层硬件、感知算法、高精地图、定位与融合,决策规划、控制执行、软件平台,乃至整车集成与云端服务的完整链条。对于希望在激烈的市场竞争中占据一席之地的车企和科技公司来说,
    的头像 发表于 08-27 09:43 665次阅读
    自动驾驶中常提的“<b class='flag-5'>全</b><b class='flag-5'>栈</b>”是个啥?有必要“<b class='flag-5'>全</b><b class='flag-5'>栈</b>”吗?

    低代码联网平台典型场景落地流程:需求实现的路径解析

    ,让开发者无需深入掌握底层技术,即可快速构建端端的联网应用。设备联网
    的头像 发表于 08-21 16:26 636次阅读

    低代码联网云平台功能解析:设备接入智能应用

    设备、数据与应用的核心枢纽,其功能覆盖了设备接入数据处理、应用开发的流程。以下是其主要功能的详细说明: 一、
    的头像 发表于 07-31 15:23 746次阅读

    联网工程师为什么要学Linux?

    联网工程师需要掌握Linux的主要原因可以技术生态、开发需求、行业应用及就业竞争力四个角度来分析: 一、技术生态与行业适配性 1)嵌入式开发的主流平台
    发表于 05-26 10:32

    云端终端:RAKsmart服务器构筑AI云平台智慧城市解决方案

    传统服务器方案常面临算力分散、运维复杂、能效比低等问题,导致AI算法难以高效落地。而RAKsmart服务器凭借其技术创新与服务能力,正在为AI云平台智慧城市提供云端算力
    的头像 发表于 05-09 09:47 485次阅读

    有人物联网:工业联网解决方案专家​​

    全球众多企业提供了可靠的工业联网解决方案,助力企业实现智能化转型与升级。​ 一、公司实力:芯片云端
    的头像 发表于 03-27 17:39 1103次阅读

    蜂窝联网怎么选

    、数据传输、固件更新、额外的基础设施设置和维护等)至关重要,因为不同技术的成本可能会因预期使用情况的不同而大相径庭。蜂窝联网有多种连接模式,统一费率按数据付费,带来了可预测的成本
    发表于 03-17 11:46

    宇树科技在联网方面

    给其他设备云端进行分析和处理。 与通信企业合作:宇树科技可能与通信企业展开合作,共同探索5G、6G等新一代通信技术在机器人领域的应用,以提升机器人的通信效率和稳定性,满足联网场景下
    发表于 02-04 06:48

    曙光云开启智能时代

    近日,“可信 云中生智”曙光云战略发布会召开。曙光云首创“城市云”进化实现“智能云”
    的头像 发表于 12-19 15:11 911次阅读