新入手了块机智云GoKit2,我也以前没怎么搞过下位机的开发,所以就搞点小实验练练手,也没太大技术含量,其中遇到的一些问题介于时间有限就不去深究看了,以后有空的时候会返回来看。

GoKit模组我就不过多的介绍了,是机智云里面的一款开发板。自身实现了一些功能,但是还是不具备我们所需要的红外接收管和红外发射管,所以我们需要在其基础上另购,我为了使用方便,直接购买了红外接收发射一体板,节省时间,零散的零件也不会掉落。

实现的功能

将GoKit2插到电脑上面,连接他的串口,能读出他的调试信息。当有遥控器朝着GoKit2的红外线接收发射模块的时候,接收到的信息将会打印到串口的输出信息上,可以对其信息进行相应的研究。

因为连接了机智云的平台,所以可以通过手机的APP端来远程控制,当然GoKit2的模块需要使用WIFI模块来联网。

 

硬件的连接:

实物图就像是下面这样:

硬件连接得差不多了,就可以设置云端了。注册进入机智云的开发者中心。挺简洁的。记录下ProductKey的值留作备用。

点击左侧的数据点,配置成如下的配置。

那么到这里就完成了云端的配置。下面开始MCU端。

如果是对此感兴趣的朋友可以参考机智云的开发向导,他是根据你的项目来生成的初始化代码,很多的地方都已经帮你完善好了,你只需要在应该执行你自己的事件的位置补全就好了。如果你和我一样只是想玩玩可以看我提供的参考代码,也就是接着往下看。

下载我提供的红外控制的代码文件,当然打开项目文件需要相应的IDE才行,推荐使用Keil uVision,至于有4和5可以选择都可以,只是代码是用4写的,5会报提示。这并没有什么太大的影响。

打开项目以后需要进行相应的修改才能写入到你的开发板中。

进到Protocol.h中来,修改其中的一项定义,PRODUCT_KEY,将你自己的PRODUCT_KEY替换到default的位置上来。

上面的修改完成后,再修改User=>main.c里面的控制代码。

这个地方就涉及到了一个麻烦问题了,也许你并不知道你家的空调的码值,所以这个时候你需要用到文章一开始我说的使用串口输出红外线接收管接收到的值,那么你就先跳过这一步,直接进入下一步,直接烧写程序进开发板上,等功能正常了,接收到了有效的值,再来设置这个位置的代码,再来烧写。

这个地方插入一下,我还是有必要说清楚,空调的红外信号比较复杂,可能带数据的,连我买的一块万能遥控板都不见得能完全学习的,我说的这个方法更多的只是在理想的状况下,我只是在我家的格力空调和奥克斯空调上做了简单的测试,并不能保证所有的空调都能使用。在这里仅仅是提供思路。

将上面的代码保存。并且编译。当然你也可以在此处就连接好开发板,直接将其写入到开发板。

等待编译完成。找到相应的文件。

然后使用STM32 的烧写工具烧写到开发板里面即可,记得将开发板的底板上面的开关调节到System,烧写完成后调节到Flash。

 

手机端配置

这里的手机端就使用机智云官方的APP进行控制了,当然你也可以根据前面的开发向导自己写一个APP。

 

不足:

  1. 空调的控制功能很单一,只能进行简单的操作。
  2. 只能进行预定义的操作,无法对空调返回的数据进行处理并发送。
  3. 想要更改红外控制码过于麻烦,必须要修改GoKit2的程序代码。