2回答

0收藏

[原创] 【必属精品】行业首款智能wifi通用改装件

#拆解/开源硬件 #拆解/开源硬件 3042 人阅读 | 2 人回复 | 2015-09-18

本帖最后由 ITEAD创易工作室 于 2015-11-4 16:52 编辑


                         《一、首款行业通用WIFI改装件》

Hello!小伙伴们,好久不见了!貌似从4月份开始就没有来论坛发帖了,也有很多坛友给我们留言了,在此给大家给个不是。

当然我们今天再次归来是一定不会让大家失望的,因为ITEAD出品,必属精品!

在这里先给大伙一个交代,从去年10月份开始,历时一年,我们开发了一套完整的WIFI智能家居方案,包括wifi模组、云平台和APP,小伙伴们一定还记得我们最早发布的esp8266方案的那篇帖子吧?对坛友们也算是进了点微薄之力,但是帖子发出后我们收到了很多坛友们技术支持上的咨询,因为实验不成功有多方原因,所以我们也没有一一回复。

为了把这个方案做到完美,经过这一年时间的努力,终于修得正果,今天我们就带给你一个你意想不到的方案:行业首款wifi通用改装件。

废话不多说,眼见为实,上视频:



从视频可以看到,我们最后展示了一个分享功能,即用户可以轻松地把自己账户下的设备分享给别的注册用户,实现共同控制。如果设备没有被分享,设备只能被添加在一个账户下,别的账户无法通过本地配置按钮添加设备,只有主用户把设备删除后才能被别的用户添加。这个机制不只是实现分享,更是一个安全机制。


最后再发两张板子全貌。



当然,作为开源硬件行业的开拓者,我们的云平台也是完全开放的,提供开放的SDK,开源供坛友们对接自己的APP和硬件。后续我们会不断开出教程。感谢小伙伴们大力支持!

                            《二、零开发量 串口wifi透传模块》

hello,今天给大家带来的这款wifi透传模块是基于上篇改装件的功能开发的。因为改装件只能实现电源的开关和定时,对于温湿度数据或者机器人指令等还不能实现远程监控,使用上颇有限制。表担心,今天这个透传模块就是为Maker而生的!

照例先上视频:



该模块上电自动连接我们的服务器,只需要给它配置wifi连接即可。






  1. int led_pin = 11;
  2. //定义一个10字节的整型数据变量cmd作为命令,这里可以修改为不同的数字。此处设置为10是为了有更好的兼容性。
  3. char cmd[10];
  4. //判断收到的cmd是否有内容
  5. bool valid_cmd = false;

  6. void setup()
  7. {
  8.     //定义连接led的引脚为输出信号
  9.     pinMode(led_pin, OUTPUT);
  10.     Serial.begin(9600);
  11. }
  12. void loop()
  13. {
  14.     /*以下部分是串口信息处理过程*/
  15.     //定义一个整数型变量i
  16.     int i;
  17.     //如果串口收到有数据
  18.     if (Serial.available() > 0)
  19.     {
  20.         //变量i最大为10
  21.         for (i = 0; i < 10; i++)
  22.         {
  23.         //清空缓存,存入cmd变量,并以\0作为结束符
  24.             cmd[i] = '\0';
  25.         }  
  26.         //此时i只能取前9位,第10位是结束符\0
  27.         for (i = 0; i < 9; i++)
  28.         {  
  29.             //再次判断串口如果收到有数据,防止数据丢失
  30.             if (Serial.available() > 0)
  31.             {
  32.                 //给变量cmd赋值,取串口收到的前9位字符
  33.                 cmd[i] = Serial.read();
  34.                 delay(1);
  35.             }
  36.             else
  37.             {
  38.                 //如果串口数据超过9位,后面的字符直接忽略,跳到下一步
  39.                 break;
  40.             }
  41.         }
  42.     /*以上串口信息处理结束*/
  43.    
  44.         //得到最终变量cmd的有效值
  45.         valid_cmd = true;
  46.     }
  47.    
  48.     //判断变量cmd的值,开始处理
  49.     if (valid_cmd)
  50.     {
  51.         //如果变量cmd的前2位的值是on
  52.         if (0 == strncmp(cmd, "on", 2))
  53.         {
  54.             //则连接led的引脚电压被置高5V,
  55.             digitalWrite(led_pin, HIGH);
  56.             //串口打印返回值ON,表示ON的操作执行成功
  57.             Serial.println("ON");
  58.         }
  59.         else if (0 == strncmp(cmd, "off", 3)) //否则如果变量cmd的前3位的值是off
  60.         {
  61.             //则连接继电器的引脚电压被置低0V,灯的电路被断开,灯灭
  62.             digitalWrite(led_pin, LOW);
  63.             //串口打印返回值F,表示OFF的操作执行成功
  64.             Serial.println("OFF");
  65.         }
  66.         else //如果以上两个条件都不成立,前2位不是ON,或者前3位不是OFF,即不正确的命令
  67.         {
  68.             //仅串口打印返回值X,表示指令错误。
  69.             Serial.println("X");
  70.         }
  71.         //到此,变量cmd的指令被处理完毕
  72.         valid_cmd = false;
  73.     }
  74.     //延迟10毫秒,返回loop主程序继续读取新的串口指令
  75.     delay(10);

  76. }
复制代码













ITEAD是深圳一家开源硬件公司,集研发、生产和销售于一体。可提供硬件定制和方案服务。淘宝:itead.taobao.com
分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

戏如人生

发表于 2015-9-18 22:17:13 | 只看该作者

谢谢分享!!!
板凳

李牧林

发表于 2016-4-6 05:01:09 | 只看该作者

请尽快开放SDK哦
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条