基于机智云的NEC红外遥控器
本帖最后由 开车时间 于 2020-6-10 01:25 编辑分享的是本人本科毕业设计:
本设计为一种基于ESP8266芯片的智能遥控器。由接在芯片上具有学习功能的单独的红外模块完成控制指令的发送。通过手机APP远程控制来达到解决老式家用电器联网问题的目的。该遥控器同时系统还搭载了DHT11温湿度一体传感器,可以进行实时的环境温湿度采集得到环境温湿度数据,从而更好的协助用户进行远程的家电控制。整个系统采用SOC方案并于eclipse一体化环境下编写控制固件,借助机智云平台的服务器以及与之配套的服务来实现用户的远程遥控功能。(引用自本人论文)这里的红外遥控特指的是使用NEC红外编码的遥控器,本来我打算做空调遥控器,后来发现自己太年轻,空调遥控器的编码很复杂,至今也没整明白,然后看到了机智云一个老哥的soc红外遥控的帖子才换了思路:http://club.gizwits.com/thread-7513-1-1.html(这是他的帖子)我的毕业设计就是在这位老哥的基础上加了一个温湿度模块,可以提供环境实时温湿度,没怎么玩led灯。温湿度参考是官方的教程;http://club.gizwits.com/thread-4562-1-1.html(这官方教程有毒)
下边说说本人的水平:大学学过C语言(学的还是不错的我当时的计算机二级是用c过的)、51单片机的{自学没学完老师上课也没咋好好学但是大概流程还是懂}。从没接触过stm32和esp8266。
这个设计经过老师推荐我自己选择的机智云这个平台以及他们自己出的gokit3开发板,本以为开发资源像当初51一样有手把手教学,我还是太天真了。本来我买板子的时候这个设计我打算用stm32也就是MCU模式来做的。但是因为官方淘宝给的文件的stm32教程好像不够手把手于是我就想到了soc模式但是淘宝得到的资料说装的开发环境实力劝退。
就是这个文档至今我还是没用这种方法搭建成功(尤其没用过那个叫甲骨文的软件后来问我们专业的大佬他说输入密码的时候这个软件是不显示的)
后来处于种种原因我放弃了mcu的方案同时也找到了soc开发环境打搭建方法。P,S 哔哩哔哩是个好地方舞蹈区不光有漂亮小姐姐还有大佬教技术。野火_firege、正点原子都有官方账号,同时还有一堆教学视频无广告还不用下载。
我在B站找到了一个老哥他的目的是推销自己的板子吧但是整个开发过程算是手把手教学看着看不懂建议放弃开发。
https://www.bilibili.com/video/BV164411X7nC
第二讲,环境搭建、编辑、编译(SOC)
在搭建完开发环境就算步入正轨了,不过也挺蛋疼的有蛮多坑我记得我那时候改了方案把芯片改了位置代码愣是烧写不进去,找我们专业大佬
整了半天愣是没用有看串口助手又是屏幕共享的,后来我自己发现是没取stm32的底板
用了soc方案还需要一个TTL转串口(我用的是cp340)不然没法烧录虽然板子有个这个功能但是使用来读取板子信息的
不能写而且是在mcu最下边那个地板上
最后烧写的时候也和官方给的不太一样其余按照官方的但是qio的哪里我用的是dio(这是哪个大佬让我尝试的发现有用)
先说一下我的数据点就三个如下所示
显示名称标识名备注读写类型数据类型数值枚举扩展
分辨率增量数据范围最小值数据范围最大值选项长度
温度(℃)temperature温度只读数值10050
湿度(%)humidity湿度只读数值100100
temp_controltemp_control可写枚举开关,温度增,温度减,暖脚模式
下边说说红外模块:
我用的红外模块和帖子里哪个老哥的类似它自带一个芯片只要连接上TTL转接口就可以直接给遥控器解码价格不贵淘宝10块左右很方便。代码基本是用的那个老哥的码源那就再重复一遍吧 红外遥控编码中可能包含0X00,这是字符串结束符,所以不能直接用uart0_sendStr函数了。打开uart.c文件(在app\driver目录下)创建uart0_sendIFR函数,内容下图 我看的那个老哥的教程里我以为把原来的函数替换了其实没有直接在下边加上就好
uart.h (在app\include\driver目录下)里加函数http://club.gizwits.com/data/attachment/forum/201708/02/134206wxcyx1ohy9x0l1ch.jpg.thumb.jpg
gizwits_product.c 文件的修改 发射逻辑
http://club.gizwits.com/thread-7513-1-1.html(这是他的帖子)这个帖子的百度云资源你有吗?帖子里面的链接失效了
页:
[1]