智能设备相关Arduino+esp8266 +阿里云eds + 百度云推动 流程 简约 配置指南

来源:互联网 发布:软件开发面试项目 编辑:程序博客网 时间:2024/05/16 09:14

主要是为了 记录 物联网的基础通讯流程

1  arduino 相关    

 硬件准备Arduino UNO一块
ESP12E Shield一块
将 8266 开发板 插入 arduino uno  

void setup(){  Serial.begin(9600);  randomSeed(analogRead(0));}void loop(){    delay(1000);     Serial.print("cmd=upload&device_name=arduino&data=");     Serial.print(random(1000));//send a random number     Serial.println("&uid=doit_demo&key=a4b4c7cbc8685cc5309d60647cae546b");}
注意烧写的时候 两个开关全部OFF  ,不然烧写不上去  
运行的时候 全部 ON  

这一段代码 是子弹  ,那么目标呢 ?  
目标就是  serial  

2  esp8266  开发板
不要问我为什么要用  esp8266    因为穷 !!!
 开发板获取serial里面的内容  然后向外发送  
模块上电,在配置模式下模块WiFi信号:“DoitWiFi_Config”。密码为:“12345678”。
用手机在浏览器输入WiFi扩展板地址:192.168.4.1打开配置页面。 
选择sta client  tcp 这三项  ,不上图了, 自己看   ,有个下拉框框 ,会自动选一个 你当时环境下的ap路由,记得改成你要用的ap路由
配置    平台基于TCP通讯,服务器IP: www.mengfeifei.com 端口:9390
问题出现了 :我php用的是 url,你这ip+端口 如何整    


3  apache 服务器配置    
我的做法是 开启apache 的一个新端口, 对应上php的目录 
还记得把php名字改成 index.php  ,我就是这么做的 

我用的是 ubuntu 14.04  

修改/etc/apache2# cat ports.conf

NameVirtualHost *:80Listen 80NameVirtualHost *:9390Listen 9390



以及 /etc/apache2/sites-enabled/000-default

<VirtualHost *:9390>        ServerAdmin webmaster@localhost        DocumentRoot /var/www/baiduyun/Baidu-Push-Server-SDK-Php-3.0.1/demo        <Directory />                Options FollowSymLinks                AllowOverride None        </Directory>        <Directory /var/www/baiduyun/Baidu-Push-Server-SDK-Php-3.0.1/demo/>                Options Indexes FollowSymLinks MultiViews                AllowOverride None                Order allow,deny                allow from all        </Directory>        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/        <Directory "/usr/lib/cgi-bin">                AllowOverride None                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch                Order allow,deny                Allow from all        </Directory>        ErrorLog ${APACHE_LOG_DIR}/error.log        # Possible values include: debug, info, notice, warn, error, crit,        # alert, emerg.        LogLevel warn        CustomLog ${APACHE_LOG_DIR}/access.log combined    Alias /doc/ "/usr/share/doc/"    <Directory "/usr/share/doc/">        Options Indexes MultiViews FollowSymLinks        AllowOverride None        Order deny,allow        Deny from all        Allow from 127.0.0.0/255.0.0.0 ::1/128    </Directory></VirtualHost>


记得 端口号 要一致 我就错了一次   
然后 
/etc/init.d/apache2 restart  

4  开始调试  
 插上了  电 
怎么看啊 , 我用的是 笨方法  

cat  /var/log/apache2/access.log

 哈哈 看 log记录  

112.26.198.112 - - [31/Dec/2015:16:44:45 +0800] "cmd=upload&device_name=arduino&data=606&uid=doit_demo&key=a4b4c7cbc8685cc5309d60647cae546b" 200 93 "-" "-"112.26.198.112 - - [31/Dec/2015:16:44:50 +0800] "cmd=upload&device_name=arduino&data=167&uid=doit_demo&key=a4b4c7cbc8685cc5309d60647cae546b" 200 93 "-" "-"
过一会 之后   我的手机就不停的收到 百度云的推动了 (百度云要自己配置好,包括php服务器端和 手机客户端)

附上服务器端 php代码  
<?php/** * ************************************************************************* * * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved * * ************************************************************************ *//** * * @file hello.php * @encoding UTF-8 *  *  *         @date 2015骞?鏈?0鏃? *         */// header('Access-Control-Allow-Origin: *')require_once '../sdk.php';header('Access-Control-Allow-Origin: *');// 鍒涘缓SDK瀵硅薄.$sdk = new PushSDK();$channelId = '4577444210869810647';echo $_GET['a'], "<BR>";echo $_GET['b'], "<BR>";echo $_GET['cmd'], "<BR>";//echo $_GET['device_name'], "<BR>";//echo $_GET['data], "<BR>";//echo $_GET['uid'], "<BR>";//echo $_GET['key'], "<BR>";o $_GET['b'], "<BR>";//$str = file_get_contents("php://input");//$arr=array();//parse_str($str,$arr);//echo 'name:'.$arr['a']."<br/>".'age:'.$arr['b'];// message content.$message = array (    // 娑堟伅鐨勬爣棰?    'title' => 'Hi!Doctor ' . $_GET['a'],    // 娑堟伅鍐呭     'description' => $_GET['b'] . "hello, this message from LCFC push service." );// 璁剧疆娑堟伅绫诲瀷涓?閫氱煡绫诲瀷.$opts = array (    'msg_type' => 1 );// 鍚戠洰鏍囪澶囧彂閫佷竴鏉℃秷鎭?$rs = $sdk -> pushMsgToSingleDevice($channelId, $message, $opts);// 鍒ゆ柇杩斿洖鍊?褰撳彂閫佸け璐ユ椂, $rs鐨勭粨鏋滀负false, 鍙互閫氳繃getError鏉ヨ幏寰楅敊璇俊鎭?if($rs === false){   print_r($sdk->getLastErrorCode());    print_r($sdk->getLastErrorMsg()); }else{    // 灏嗘墦鍗板嚭娑堟伅鐨刬d,鍙戦€佹椂闂寸瓑鐩稿叧淇℃伅.    print_r($rs);}echo "done!"; 

至此为止 ,arduino 只要一上电 我的手机就收到百度云推送了 

_______________________________________________________________
一定要注意端口哦   公司的端口有可能上不去



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 夏天了腿脚还凉怎么办 咖啡色三天了月经还是下不来怎么办 睡觉姿势不对腰疼怎么办 来月经吃了香瓜怎么办 减肥期间晚上有饭局怎么办 减肥期间遇到晚上聚餐怎么办 婴儿脸不向上睡怎么办 睡觉压奶了疼怎么办 堵奶了挤不下来怎么办 孕36周胎儿腿短怎么办 孕晚期胎儿腿短怎么办 孕晚期宝宝腿短怎么办 手劳累过度麻痛怎么办 大人发烧40不退怎么办? 颈椎扯的脑袋疼怎么办 孕妇颈椎痛导致失眠怎么办 做完运动脊椎中间痛怎么办? 阴虛阴虚火旺怎么办 脸一躺下就丑怎么办 身体淤堵的厉害怎么办 怀孕晚期脚肿了怎么办 宝宝感冒咳嗽流鼻涕流泪怎么办 孕晚期睡觉习惯面朝右怎么办 鼻涕一直不停的流怎么办 宝宝一直流清鼻涕怎么办 感冒了眼睛酸胀流泪怎么办 五个月宝宝感冒流鼻涕怎么办 六个月宝宝感冒流鼻涕怎么办 一岁宝宝感冒咳嗽流鼻涕怎么办 七个月宝宝感冒流鼻涕咳嗽怎么办 孩子握笔姿势不正确怎么办 走久了脚底板痛怎么办 不会给宝宝拍嗝怎么办 打了肉毒素淤青怎么办 新生儿一吃母乳就睡觉怎么办 10岁半宝宝缺钾怎么办 宝宝吃不到乳晕怎么办 喂母乳乳头破了怎么办 宝宝吸了乳头痛怎么办 喂母乳奶头很疼怎么办 孩子吸的乳头痛怎么办