作者:peter | 更新時間:2017-04-23 | 瀏覽量:2977
在貝殼網站上申請了一片匯思銳的8266開發底板
首先下載樂鑫的固件然后按照下圖燒寫固件
打開匯思銳調試工具,按照上面一步一步設置
點擊airkiss 按鈕進入airkiss 配網模式。
進入樂鑫信息科技公眾號,進行配置
鏈接后串口調試圖,這樣你的網絡就鏈接到了WIFI上了,上電制動鏈接WIFI
Esptouch配置和Airkiss差不多,請自已摸索下。接下來就是下載程序了,
首先需要你自已搭建好ARDUINO的IDE編譯環境(版本165以上可以編譯ESP8266就可以),不會的請在貝殼網上看其他朋友的帖子,也可以百度。
下面是用貝殼的例程程序(開關),可以在貝殼網上下載,修改自已的KEY和設備號,燒寫到ESP8266就OK了.
==========================================================
#include
#include
//宏定義 使用于nodemcu板
#ifdef NODEMCU
#define D0 16
#define D1 5
#define D2 4
#define D3 0
#define D4 2
#define D5 14
#define D6 12
#define D7 13
#endif
//============= 此處必須修該============
String DEVICEID="xxx"; // 你的設備編號 ==
String APIKEY = "xxxx"; // 設備密碼==
//=======================================
unsigned long lastCheckInTime = 0; //記錄上次報到時間
const unsigned long postingInterval = 40000; // 每隔60秒向服務器報到一次const char* host = "www.eqytg.org";
const int httpPort = 8181;
int pins[1]={D1};
//int pins[4] = {D5,D6,D7,D1};//LED引腳配置
int state[1] = {HIGH};//上電輸出高電平
//int state[4] = {HIGH,HIGH,HIGH,HIGH};//上電輸出高電平
int arr_len = sizeof(pins)/sizeof(pins[0]);
void setup() {
Serial.begin(115200);
delay(1000);
//默認輸出關閉電頻
for(int i=0;i pinMode(pins[i], OUTPUT);
digitalWrite(pins[i], state[i]);
}
}
WiFiClient client;
void loop() {
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
// Use WiFiClient class to create TCP connections
if (!client.connected()) {
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
delay(5000);
return;
}
}
if(millis() - lastCheckInTime > postingInterval || lastCheckInTime==0) {
checkIn();
}
// Read all the lines of the reply from server and print them to Serial
if (client.available()) {
String inputString = client.readStringUntil('\n');
inputString.trim();
Serial.println(inputString);
int len = inputString.length()+1;
if(inputString.startsWith("{") && inputString.endsWith("}")){
char jsonString[len];
inputString.toCharArray(jsonString,len);
aJsonObject *msg = aJson.parse(jsonString);
processMessage(msg);
aJson.deleteItem(msg);
}
}
}
void processMessage(aJsonObject *msg){
aJsonObject* method = aJson.getObjectItem(msg, "M");
aJsonObject* content = aJson.getObjectItem(msg, "C");
aJsonObject* client_id = aJson.getObjectItem(msg, "ID");
if (!method) {
return;
}
String M = method->valuestring;
if(M == "say"){
String C = content->valuestring;
String F_C_ID = client_id->valuestring;
if(C == "play"){
for(int i=0;i
state[i] = LOW;
digitalWrite(pins[i], state[i]);
}
sayToClient(F_C_ID,"LED All on!");
}else if(C == "stop"){
for(int i=0;i state[i] = HIGH;
digitalWrite(pins[i], state[i]);
}
sayToClient(F_C_ID,"LED All off!");
}
/* else{
int pin = C.toInt();
if(pin > 0 && pin <= arr_len){
pin--;
state[pin] = !state[pin];
digitalWrite(pins[pin], state[pin]);
}
sayToClient(F_C_ID,"LED pin:"+pin);
}*/
}
}
void checkIn() {
String msg = "{\"M\":\"checkin\",\"ID\":\"" + DEVICEID + "\",\"K\":\"" + APIKEY + "\"}\n";
client.print(msg);
lastCheckInTime = millis();
}
void sayToClient(String client_id, String content){
String msg = "{\"M\":\"say\",\"ID\":\"" + client_id + "\",\"C\":\"" + content + "\"}\n";
client.print(msg);
lastCheckInTime = millis();
}
==========================================================
最后說下,用貝殼的遙控命令是play(開),stop(關).沒找到可以上傳附件的按鈕,第一次發貼,還不熟悉
需要附件和更多的資料可以加圖片上的匯思銳QQ群,哪里都有,我只是把自已的一些不成熟的經驗和大家分享下。