完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我为 RC 模型制作了自己的遥测模块,但我在 PC 上开发客户端软件时遇到了问题。我尝试用 C# 和 Java 来做,但在这两种情况下,当我尝试获取 HTTP 响应时,我都会收到类似“无效的 http 协议”或类似的错误。所以我认为我的 ESP8266 配置有问题。
在浏览器中它以良好的方式显示,但在 Java 或 C# 中它不起作用。 我的ESP固件是: AT+GMR 0018000902-AI03 可以看看吗? 代码:全选#include #include #include Adafruit_BMP085 sensorBMP180; SoftwareSerial esp(8,9); float tempC; float pressure; float altitude; float initAltitude; float realAltitude; byte responseCode; void setup(){ Serial.begin(38400); //turn on serial monitor esp.begin(38400); sendCommand("AT+RST\r\n",2000); // reset module sendCommand("AT+CWMODE=2\r\n",1000); // configure as access point sendCommand("AT+CIFSR\r\n",1000); // get ip address sendCommand("AT+CIPMUX=1\r\n",1000); // configure for multiple connections sendCommand("AT+CIPSERVER=1,80\r\n",1000); // turn on server on port 80 sensorBMP180.begin(); //initialize initAltitude = sensorBMP180.readAltitude(); } void loop() { tempC = sensorBMP180.readTemperature(); pressure = sensorBMP180.readPressure(); altitude = sensorBMP180.readAltitude(); realAltitude = altitude - initAltitude; if(esp.available()){ if(esp.find("+IPD,")){ delay(2000); int connectionId = esp.read()-48; String dataToSend = "\n"; dataToSend += "\n"; String sVar = String(tempC); dataToSend += sVar; dataToSend += "\n"; dataToSend += ""; sVar = String(pressure/100); dataToSend += sVar; dataToSend += "\n"; dataToSend+=""; sVar = String(altitude); dataToSend += sVar; dataToSend += "\n"; dataToSend+=""; sVar = String(realAltitude); dataToSend += sVar; dataToSend += "\n"; String cmdCIPSEND = "AT+CIPSEND="; cmdCIPSEND += connectionId; cmdCIPSEND += ","; cmdCIPSEND +=dataToSend.length(); cmdCIPSEND +="\r\n"; sendCommand(cmdCIPSEND,2000); sendCommand(dataToSend,2000); String closeCommand = "AT+CIPCLOSE="; closeCommand+=connectionId; closeCommand+="\r\n"; sendCommand(closeCommand,3000); } } } String sendCommand(String command, const int timeout){ String response = ""; esp.print(command); long int time = millis(); while( (time+timeout) > millis()){ while(esp.available()){ char c = esp.read(); response+=c; } } Serial.print(response); return response; } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1002 浏览 1 评论
554浏览 6评论
463浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
422浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 07:09 , Processed in 0.803833 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号