esp8266 arduino 之 与服务器通信
前一篇文章已经把wifi连接上了 下面我们连接下远程服务器哈哈和服务器通信方式一般是tcp udp 和http的post get方式 还有现在流行的实时websocket哈哈
tcp 和udp需要自己写server代码 比较烦 我的阿里云是python的环境 就直接用http的方式吧
加入ESP8266HTTPClient.h的库支持
下面是ESP8266代码:
#include <ESP8266HTTPClient.h>
#include <ESP8266WiFi.h>
HTTPClient http;
char ssid[] = "Question"; //你家的路由器wifi名称
char paswd[] = "*******"; // 你家的路由器wifi密码
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, paswd); //开始连接wifi
while (WiFi.status() != WL_CONNECTED) //等待wifi连接成功
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP()); //打印连接上wifi后获取的ip地址
}
void loop() {
// put your main code here, to run repeatedly:
char url="http://**********:81/test?msg=\"hello\""; //把*号改成你的服务器地址
http.begin(url);
int httpCode = http.GET();
if(httpCode >0)
{
Serial.printf(" GET...code:%d\n",httpCode);
String serdata = http.getString(); //获取服务器返回的数据
Serial.println(serdata);
}
else
{
Serial.printf(" GET...failed,error:%s\n",http.errorToString(httpCode).c_str());
}
http.end();
delay(10000);
}
运行效果
返回200 表示成功请求成功,后面是服务器返回的json数据 ESP8266通过返回的数据就能判断是否有命令过来了
服务器的代码:
环境 ubuntu django python
文件 url.py
<font face="" "=""> url(r'^test', collect_data.views.test),</font>
<font face="" "="">文件 collect_data/views.py</font>
#coding=utf-8
from django.shortcuts import render
# Create your views here.
from collect_data.models import Air_data
from django.shortcuts import render,render_to_response
from django.http import HttpResponseRedirect,HttpResponse
import datetime
import json,os,time,random,string,types
def test(request):
print request.get_full_path()
return HttpResponse(json.dumps({'status':'ok'},sort_keys=True), content_type="application/json") 好教程值得一看 以后慢慢琢磨 mark一下 mark一下,学习学习了 我想知道,能不能通过家里的无线路由器,连接到服务器上去? DeepMind 发表于 2017-6-29 17:23
我想知道,能不能通过家里的无线路由器,连接到服务器上去?
这个代码就是通过wifi和阿里云进行通信的例子 有没有用php通信的例子, ishmaelQ 发表于 2017-8-5 16:32
有没有用php通信的例子,
php的服务器我不会写 arduino那边是标准的get请求 你用PHP也能用的 请问怎么下载要用到的库
页:
[1]