串行通信Arduino到PHP
我正在从事一个项目,我想通过串行通信从Arduino发送传感器数据. 不幸的是,我无法阅读PHP中的串行端口.但是,另一个方向(php to arduino)效果很好. 我正在使用 php_serial.class.php 来自RémySanchez,由Rizwan Kassim修改.我依赖于readport() - 函数. 我正在使用Mac OS X上的Arduino Uno和Apache Wamp-Server. 我应该意识到没有以太网盾的串行连接.在进一步的步骤中,我必须从MySQL数据库中的串行端口保存收到的数据. 我确实看到了一些涵盖这个问题的条目,但他们真的没有帮助我.我尝试了很多. 我敢肯定,有人有一些工作代码,可以上传它们. 我究竟做错了什么? 我希望有人会发布代码或提示! 顺便说一句, 问候fab 解决方案 php_serial.class.php有点损坏,我必须对其进行调整以从中读取它,因此不要使用读者方法中的以下内容: $ content
2 2023-06-02
编程技术问答社区
我可以直接从我的Arduino将项目放入MySQL数据库吗?
是否可以从带有以太网屏蔽的Arduino将数据发送到MySQL数据库? 目前,我有数据输出到网页,但我想记录该数据的历史记录 - 我可以直接将数据发送到数据库吗? 另外,我可以使用PHP捕获数据并将其发送到数据库而不会有页面不断打开的情况下,就像我想在一系列天中记录数据一样. 解决方案 是的,尽管可能是Tediouis.客户端/服务器协议的详细信息在这里: http://http://.mysql.com/doc/internals/en/client-server-protocol.html 这只是在Arduino实施它的问题.给定的程序内存限制,这可能是一项艰巨的任务. 另一个选项是,将数据库作为WebService公开要容易得多.您可以根据需要定义协议,并将所有MySQL处理留给PHP. 其他解决方案 没有Web服务器和PHP,您将需要一个MySQL客户端库来供Arduino,但我认为不存在一个. Afaik否则不可能与MySQL Server直接
0 2023-06-02
编程技术问答社区
如何使用PHP读取串行端口
如何使用php读取连接到服务器上的com端口(旧笔记本电脑)上的com端口的序列数据,以便我可以在网页上显示数据? 我已经阅读了有关同一问题的其他问题,所有这些问题都超级复杂,要么需要php-serial c# using System; using System.IO.Ports; namespace UNOtoDB { class Program { static SerialPort S; static void Main(string[] args) { S = new SerialPort(); S.PortName = "COM4"; S.BaudRate = 9600; S.ReadTimeout = 2000; S.Open(); while (tru
0 2023-06-01
编程技术问答社区
尝试用HTTPClient向PHP发送图像文件
我尝试在ESP32上运行代码后得到了这个 注意:未定义的索引:c:\ xampp \ htdocs \ acc.php in Line 23 我在ESP32上的代码 HTTPClient http; http.begin("http://192.168.43.86/acc.php"); //Specify destination for HTTP request http.addHeader("Content-Disposition", "form-data; name=\"imageFile\"; filename=\"picture.jpg\"\r\n"); http.addHeader("Content-type", "image/jpeg"); int httpResponseCode = http.POST(cam.getfb(), cam.getSize()); if (httpResponseCode > 0) { String respon
0 2023-05-31
编程技术问答社区
从Arduino返回的PHP串口数据
我想知道是否有一种方法可以完成通过PHP阅读我的串行端口 - 可行的方法: - ) 在练习我的Arduino技能时,我开发了一个简单的LED ON/OFF素描.它通过在串行监视器中输入或 Off 来起作用. 下一步,我整理了一个网页,以充当GUI接口,单击链接并执行上方和关闭功能.此Webbased GUI通过PHP起作用. 我正在使用 php serial "> php serial 类别与serial port与serial port ersial port My arduino使用. 问题是我需要找到一种从串行端口获得反馈的方法.使用Arduino IDE串行监视器,我可以看到我的打印消息,以响应我的每个串行输入,并且需要在PHP代码中检索相同的反馈. PHP串行类提供 ReadPort()功能,但我不返回数据. 更新[2]: arduino: const int greenPin = 2; const int bluePin = 3; c
2 2023-05-26
编程技术问答社区
我可以恢复MIFARE Classic卡吗?
我的问题是,我在Arduino上使用了"读写"示例来通过块重新编写RFID卡(Mifare Classic 1K)块.我开始在块4上写作.在第7块中,它停止了,现在我无法阅读任何扇区.我写了每个块的零. DumpToSerial功能只为每个扇区打印 pcd_authenticate()失败:通信中的超时. 它仍然可以读取UID,SAK和PICC类型. 我是销毁卡还是可以恢复卡片? 更多信息: 卡:Mifare Classic 1K 来自Elegoo的Arduino Mega2560 rc522来自起动器 - 凯特 解决方案 使用Mifare Classic 1K,每个第四个块是扇区拖车(每个4个块分为一个扇区).该扇区预告片包含访问键(键a on Bytes 0..5,键B上的Bytes 10..15)和访问条件(字节6..8上的访问位). 访问条件受冗余机制的保护,其中每个访问位以正逻辑和负逻辑中多次存在. Mifare经典卡允许以
2 2023-05-25
编程技术问答社区
为什么我从硬件串联和软件串联获得相同的性能?
我正在尝试接口(1)Linksprite JPEG颜色相机TTL接口 - 红外和(2)Arduino Mega 2560连接到我的笔记本电脑.虽然我能够打印图像的十六进制值,但是将1张图像打印到监视器中大约需要30秒.我以为是因为我正在使用软件,所以我尝试了硬件,但每张图像仍然30秒.使用硬件不应该更快吗?只是想知道,我需要一根特殊的电缆将Arduino连接到笔记本电脑吗? 我尝试了串行和串行1的波特率的不同组合. (Serial.Begin(9600),Serial1.Begin(38400)),(Serial.Begin(38400),Serial1.Begin(38400))它应该能够更高.)另外,我是否必须将波特率提高一定间隔,即9600,19200,38400,57600,74880,115200,115200,230400,250000? #include byte incomingbyte; //Configure p
0 2023-05-24
编程技术问答社区
C++:有条件的继承是否可行
我正在从事微观处理器(Arduino)项目.我的库Foo是从现有库Basic继承的.后来,我将Basic的功能扩展到另一个类Advanced.但是,Advanced更努力地将硬件扩展,使已经制作的演示之一无法使用. 我的想法如下: class Foo: #ifndef USE_BASIC public Advanced #else public Basic #endif { ... } 并在我的演示代码中放置#define USE_BASIC: #define USE_BASIC #include 但是,foo不是从基本继承的.我在这里做错了吗?或者如果有解决此问题的替代方法? 解决方案 使用模板将使用一个更干净的解决方案:让编译器根据模板参数选择基类. 这是一个示例: #include //for std::conditional //here you go with your own c
4 2023-05-22
编程技术问答社区
在raspberry pi 2上运行pyfirmata时遇到困难,使用python 3。
我试图在Raspberry Pi 2上运行Pyfirmata.我将其安装在这里: /home/pi/pyFirmata 但是,当我尝试运行以下代码时: from pyfirmata import Arduino, util import time board = pyfirmata.Arduino('/dev/ttyACM0') analog_pin = board.get_pin('a:0:i') it = pyfirmata.util.Iterator(board) it.start() analog_pin.enable_reporting() while True: reading = analog_pin.read() if reading != None: voltage = reading * 5.0 print("Reading= %f\t Voltage= %f" % (reading, voltage
6 2023-05-22
编程技术问答社区
如何使用NODEMCU发送HTTPS GET请求
您如何发送HTTPS-使用Nodemcu -Arduino代码获取/发布请求. 我已经搜索了一个工作示例,该示例使用HTTPS协议向网站发送GET请求,并且我发现的所有示例都没有成功. 我希望它也会帮助别人! 解决方案 这是帮助我 的链接 要使示例与HTTPS协议一起使用,您必须使用WiFiClientSecure库,并调用WiFiClientSecure对象的client.setInsecure()函数. 这是一个完全工作的代码: #include const char* ssid = "WIFI_SSID"; const char* password = "WIFI_PASS"; const char* host = "DOMAIN_NAME"; // only google.com not https://google.com void setup() { Serial.begin(115200)
2 2023-05-22
编程技术问答社区
用Arduino和ENC28J60以太网LAN网络模块发送HTTP POST请求
我刚刚在eBay上购买了新的ENG28J60以太网LAN网络模块,我想将其带有此模块的发布数据发送到指定的Web地址. www.mydomain.com/example.php 我在Google上重新获得了一些示例,但我所能看到的只是Arduino Shield的示例,而不是我拥有的模块.使用此模块,我正在使用以下库: " ethershield.h" " Ether_28J60.H" 我想向php公式发送一个/两个指定的帖子(变量),但我不知道该怎么做. 解决方案 首先您需要安装以下库: https://github.com/jcw/ethercard 用6个引脚将模块连接到Arduino: enc so-> arduino pin 12 ENC SI-> Arduino Pin 11 ENC SCK-> Arduino Pin 13 ENC CS-> Arduino Pin 8 ENC VCC-> Arduino 3v3 PIN en
20 2023-05-22
编程技术问答社区
如何用Arduino从http响应的正文中提取相关信息?
我目前正在使用Arduino MKR WiFi 1010进行项目,然后将GET请求发送到服务器,并将其发送回我的响应中包含" clientId".我唯一想要的信息是该客户端ID.但是我在获得它方面很挣扎.完整的响应如下: HTTP/1.1 200 OK Date: Wed, 13 Jul 2022 07:29:19 GMT Content-Type: application/json;charset=utf-8 Content-Length: 241 Connection: keep-alive Cache-Control: no-cache,no-store,must-revalidate Pragma: no-cache Expires: -1 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000; includeSubDomains [{"ext":{"ack":true},
6 2023-05-22
编程技术问答社区
在Arduino中从FFT中检测一个特定的模式
我有一个来自麦克风的FFT输出,我想从该麦克风中检测到特定动物的ll(在特征频谱中how叫声).是否有任何方法可以在Arduino中实现模式识别算法? 我已经有与128个样本 @2kHz采样率一起使用的FFT部分. 解决方案 查找音频指纹...基本上,您可以从FFT调用中探测频域输出,并在每个FREQ的大小上示出频率范围的快照,然后将其比较,然后在已知的动物信号和未知信号和未知的信号和未知的信号之间进行比较输出这些差异的测量. 自然而然地,当未知信号是您的实际已知信号 时,此差异将接近零 这是另一层:为了获得更好的保真度,而不是执行可用的整个音频的单个FFT,请与样本的子集进行许多FFT调用...对于每个呼叫...假设您的音频剪辑是2秒钟,但是您只将其发送到FFT呼叫200毫秒的样本中,这给您至少10个这样的FFT结果集,而不是只有一个,您将整个音频剪辑吞噬了...这为您提供了时间特异性的概念,这是一个额外的维度,可以在已知和未知信号之间得出更郁郁葱葱的数据差异.
2 2023-05-21
编程技术问答社区
将字符串分成N个部分
我正在开发一个Arduino代码,该代码将输入一个具有可变大小的字符串,目的是将字符串分为n个部分(也通过arduino代码输入n,它是一个变量). 我找到了不同的代码,将字符串分为n等零件,但如果字符串具有9个字符并且所需的部分为2,则代码不起作用. 我的想法是创建一个能够通过 的结果来拆分字符串的代码 str_size % n 与零不同. 例如,如果字符串为" Hello",并且零件为2,则输出应为" HEL"和" LO". 你能帮我吗? 正确答案 #include #include #include std::vector split_string(const std::string& s, int N) { std::vector vect; if (N > s.size()) return vect;
4 2023-05-20
编程技术问答社区
用ESP8266解析JSON代码
我正在测试一件代码,以查看是否可以解析要收到的JSON代码.我基本上从:因此,我将接收到的JSON字符串放在A const char*中以查看它是否有效,但是我得到了一个奇怪的响应,而不是正常的整数结果.有人知道这里发生了什么吗? ps我知道这是服务器的巨大响应,而我只需要2个数据. . 这是我的代码: #include void setup() { Serial.begin(115200); Serial.println("Hello"); DynamicJsonBuffer jsonBuffer(10833); //Serial.println("Buffer" + bufferSize); const char* json = "{\"devices\":{\"thermostats\":{\"e97ayjdpIOkPa4vZFxHggZMXiHKfhsyU\":{\"humidity\"
4 2023-05-20
编程技术问答社区
逗号分隔字符串的解析函数
假设我有一个像这样的字符串"cmd,param1,param2".字符串是Arduino字符串类型. https://www.arduino.cc/en/reference 我想提取每种逗号分隔的子字符串.我已经成功地为这样的特定情况编写了代码.这是代码; String = str_data('cmd,param1,param2'); int firstCommaIndex = str_data.indexOf(','); int secondCommaIndex = str_data.indexOf(',', firstCommaIndex+1); String cmd = str_data.substring(0, firstCommaIndex); String param1 = str_data.substring(firstCommaIndex+1, secondCommaIndex); String param2 = str_data.substring(seco
4 2023-05-20
编程技术问答社区
用分隔符分割字符串 strtok的奇怪行为
我正在尝试拆分字符串,但不幸的是strtok行为奇怪 我有以下字符串get|user=password|23|info|hello我尝试使用strtok广泛使用的方法,但不幸的是,它将=视为定界符,我无法解析我的字符串. 因此,get比仅解析的user正确解析,但user=password不正确. 请帮助找到问题或提出其他任何方法来拆分字符串. 我正在为arduino编程. 谢谢 代码 const char delimeter = '|'; char *token; token = strtok(requestString, &delimeter); // Handle parsed token = strtok(NULL, &delimeter); 解决方案 来自 cppreference , DeLim-指向零端的字节字符串识别定界符 您的方法不合适的要求是 null终止.您可以使用一个char的地址,但是显然您
0 2023-05-20
编程技术问答社区
解析GPS NMEA字符串的代码
我正在尝试使用Arduino uno和以下代码来解析传入的GPGGA NMEA GPS字符串. 我要做的是我只使用gpgga nmea字符串来获取纬度,经度和高度的值.在下面的代码中,我已经进行了某些检查以检查输入字符串是否为GPGGA,然后存储该字符串可以进一步解析的阵列中的其他字符串,起诉strtok函数,所有3个GPS坐标都可以轻松找到. 但我无法弄清楚如何仅存储GPGGA字符串而不是其他字符串. 我不是要使用任何库.我遇到了某些 我正在尝试具有以下功能 i)检查传入字符串是否为GPGGA ii)如果是的,则将以下字符串存储到EOL或最高 *(接着是校验和阵列)中的数组,数组长度是可变的(我无法为此找到解决方案) iii)然后解析存储的数组(这是完成的,我尝试了其他数组) #include SoftwareSerial mySerial(10,11); // 10 RX / 11 TX void setup
0 2023-05-20
编程技术问答社区
Arduino yun to parse.com
我试图从我的arduino yun向我的parse.com应用程序发布一个对象,它需要每秒发布一个新对象.到目前为止,我已经能够每10秒发布一次,但是我似乎无法让Arduino发布比这更快的速度.我试图查看解析库,但看不到什么会放慢脚步.我正在使用指南中给出的解析库,网址为 https://www.parse.com/docs/Arduino/Guide . 这是我到目前为止的代码. #include #include #include ParseObjectCreate create; void setup() { Serial.begin(9600); parseInit(); } void loop() { parseFunc(24); // just send 24 everytime for testing } void parseInit() { Bridge.begin(
4 2023-05-20
编程技术问答社区
Parse.com Arduino Yun SDK快速入门教程无法使用
我遵循了QuickStart教程的一步,此链接 https://www. parse.com/apps/quickstart#embedded/arduinoyun . 这是我在Aruino Yun的串行显示器上的输出: Parse Starter Project Response for saving a TestObject: Test object id: Push Installation ID:4b3b82af-8d39-4413-b4e0-............................. (测试对象ID响应是空的.推动服务成功启动,并给出了一个有效的安装ID,当我多次运行代码时,它是相同的.) 单击页面底部的"测试"按钮时,我在网站上收到以下错误: "Can't find any registered devices yet..." 我知道我缺少一些东西,但无法弄清楚什么. 我正在使用相同的解析应用程序,该应用程序已成功地在iOS应
4 2023-05-20
编程技术问答社区