LTREE 发表于 2015-6-15 14:17:20

照明灯的远程开关控制 -- 基于机智云的简单修改开发

本帖最后由 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做成产品?...

第一次发帖,哪里不妥望各位坛友提示修改...





dwli 发表于 2015-6-15 14:58:03

可以做的有很多啊,只要你想得到,没有实现不了!比如:手机控制的遥控汽车,模型飞机等等!哈哈!等待你的再次分享!

LTREE 发表于 2015-6-15 15:12:10

dwli 发表于 2015-6-15 14:58
可以做的有很多啊,只要你想得到,没有实现不了!比如:手机控制的遥控汽车,模型飞机等等!哈哈!等待你的 ...
恩,遥控小车比较有意思,以前用蓝牙和NRF24L01做过,现在把车架子送给别人玩去了。
我在想如果用手机来控制的话,就需要修改APP,底层的修改应该可以搞定,加个电机驱动模块,用PWM来控制就可以了,通信协议仍然按照机智云提供的代码。
机智云提供的APP开发是不是有个快速开发模板,因为我对Android编程比较陌生,开始学习的话是不是要花很多时间...感谢你的回帖哈

LTREE 发表于 2015-6-15 15:16:19

dwli 发表于 2015-6-15 14:58
可以做的有很多啊,只要你想得到,没有实现不了!比如:手机控制的遥控汽车,模型飞机等等!哈哈!等待你的 ...

如果做飞机的话,那就是做四轴咯,
可以采用机智云的硬件系统哈,STM32做主控芯片,WIFI模块作为遥控通信,还可以用机智云提供的通信协议哈,就是做起来卡尔曼滤波数据融合和PID整定挺费时间的,而且费钱,考虑什么时候可以玩玩呢...

格古洛 发表于 2015-6-15 22:20:23

感谢楼主分享~
好人一生平安~
顶顶更健康~
为了不后悔~
我看~

麦东东 发表于 2015-6-17 11:49:07

楼主好厉害,期待做更多有意思的项目发帖让大家膜拜

LTREE 发表于 2016-6-26 16:20:14

麦东东 发表于 2015-6-17 11:49
楼主好厉害,期待做更多有意思的项目发帖让大家膜拜

:hug:    感谢支持~考虑尝试做一个只能家居系统开发:P

随心所欲 发表于 2016-7-17 22:26:33

感谢楼主分享~
好人一生平安~
顶顶更健康~
为了不后悔~
我看~

jan 发表于 2016-7-19 10:22:49

好帖子。给楼主顶一个!

1112 发表于 2016-7-23 22:41:19

LZ有联系qq吗?我这边有项目可以给你做!

LTREE 发表于 2016-7-28 11:47:34

1112 发表于 2016-7-23 22:41
LZ有联系qq吗?我这边有项目可以给你做!

934135960:P
页: [1]
查看完整版本: 照明灯的远程开关控制 -- 基于机智云的简单修改开发