|
本帖最后由 LTREE 于 2015-6-15 15:04 编辑
视频链接:(不可以在此页面显示观看么...)
http://v.youku.com/v_show/id_XMTI2MjkzNDE0NA==.html
gokit 2代开发板7号拿到的,中间回家了,昨天刚到学校。之前一直想做个智能插座,于是今天就先用这个开发板来做个开关的远程控制吧,迎合物联网大浪潮哈。
拿到板子后将原理图和开发环境熟悉了下,下面的STM32地板可以当做一个小的STM32开发板哈,上面的板子相当于整合了几个传感器加几个可控器件并加个WIFI模块,而且这个WIFI模块还是串口转WIFI,这使得开发难度大大降低了。我目前做的是嵌入式方面,所以Android的APP方面不熟悉,这里通过机智云提供的微信宠物屋这个APP来进行控制,使用其中的第一个控制项:开启/关闭红色灯
这样只需要将底层板上的程序修改下就可以实现了。
具体代码如下:
- SA_GPIO_Init(GPIOA, GPIO_Pin_5, GPIO_Mode_Out_PP, GPIO_Speed_10MHz); //init PA5
- GPIO_ResetBits(GPIOA, GPIO_Pin_5);
复制代码 主函数while死循环前加上这两条语句,因为我使用的是板子引出来的PA5管脚来控制继电器的断开与吸合,这里是直接调用机智云初始固件代码中的GPIO初始化函数,是将STM32的库进行了一次封装。然后第二条语句设置管脚为低电平,一开始的状态为灯灭状态。
然后在protocol.c里将void Pro_W2D_Control_DevceHandle(void)函数里对应的代码修改如下:- case SetLED_OnOff:
- Device_WirteStruct.LED_Cmd = Pro_P0_ControlStruct.Device_Wirte.LED_Cmd ;
- if(Pro_P0_ControlStruct.Device_Wirte.LED_Cmd == LED_OnOff)
- {
- GPIO_ResetBits(GPIOA, GPIO_Pin_5);
- // LED_RGB_Control(0,0,0);
- // printf("SetLED_Off \r\n");
- printf("SetLight_Off \r\n");
- }
- if(Pro_P0_ControlStruct.Device_Wirte.LED_Cmd == LED_OnOn)
- {
- GPIO_SetBits(GPIOA, GPIO_Pin_5);
- // LED_RGB_Control(254,0,0);
- // printf("SetLED_On \r\n");
- printf("SetLight_On \r\n");
- }
- break;
复制代码
这样简单的修改即可不必理会协议的具体实现即可快速开发出智能家居类产品。
深入学习可以先将机智云的protocol.c的串口到WIFI和WIFI到串口的协议读通,到了这一步,感觉已经可以做出类似的开发板硬件,只是机智云可能更多的在Android的APP与案例方面或是通信的稳定性方面做了不少功夫。
这个试验比较简单,分享出来回馈机智云送给我们的开发板哈,还需要大家的想法做一个什么样的好玩的智能硬件呢...下一步该怎么做呢?
是学习机智云的APP设置编程?还是研究透机智云的通信协议然后可以自己画出板子,修改代码,再找人做APP做成产品?...
第一次发帖,哪里不妥望各位坛友提示修改...
|
|