TCPIP演示應用程序中的所有示例都是使用自定義程序構建的,該程序設計了一個在更改網頁時觸發回調的網頁。是否有可能每隔X秒從傳感器獲取一個值並通過HTTP POST發送數據?使用Microchip的PIC18F通過tcpip發送數據
1
A
回答
4
我現在就這樣做。每x秒從傳感器讀取數值應該是不言而喻的,但用「POST」編碼消息有點棘手。
我不喜歡的東西下面的通用分組:
TCPPutROMString(MySocket, (ROM BYTE*)"POST ");
TCPPutROMString(MySocket, RemoteURL);
TCPPutROMString(MySocket, (ROM BYTE*)" HTTP/1.1\r\nHost: ");
TCPPutROMString(MySocket, ServerName);
TCPPutROMString(MySocket, (ROM BYTE*)"\r\nContent-Length:
[put number of all following characters here]\r\n\r\n");
TCPPutROMString(MySocket, (ROM BYTE*)"variable1=whatever");
TCPPutROMString(MySocket, (ROM BYTE*)"&variable2=whatever");
TCPPutROMString(MySocket, (ROM BYTE*)"&variable3=whatever");
0
我很確定你的網頁必須從服務器請求數據。我從來沒有見過服務器可以強制進行頁面更新的地方。您可以嘗試使用元標記來刷新頁面或構建一個Java小程序來請求包含要讀取的傳感器數據的動態變量的文件。我還曾考慮編寫基於telnet的自己的協議,它會將數據推送到與TCP/IP端口相連的應用程序,但決定不會比使用已支持供應的HTTP協議好得多數據到我的小程序。這可能會快得多,但也有很多工作要做。這實際上取決於你希望數據更新的頻率。如果大約5-10秒,並且只有一個連接,那麼使用HTTP應該可以正常工作。如果您有多個連接並希望每秒更新一次數據,則可能需要使用Telnet路由。我還沒有看到任何演示應用程序這樣做,但是由於我遇到了同樣的問題,所以很高興Microchip爲此提供演示應用程序。
相關問題
- 1. Microchip TCPIP Stack over 18f4620
- 2. 通過TCPIP套接字發送數據到Zabbix
- 3. Microchip TCPIP保持活着不工作
- 4. 使用PyUSB通過USB發送數據
- 5. 使用ASP.NET通過QueryString發送數據
- 6. 通過ksoap2發送數據
- 7. 通過winform發送數據
- 8. 通過ADB發送數據
- 9. 通過JSON發送數據
- 10. 發送數據通過jQuery
- 11. 通過WCF發送數據
- 12. 通過塊發送數據
- 13. 通過TCP發送數據
- 14. 使用Android設備通過SPP通過藍牙發送數據
- 15. 如果快速發送數據,PIC18F鎖定
- 16. 簡單的中斷程序陷阱/凍結CPU(USART/PIC18F/MICROCHIP/XC8)
- 17. Microchip的TCP/IP堆棧PIC18F無效包SEQ/ACK號
- 18. 通過請求頭髮送數據與通過請求主體發送數據
- 19. 通過推送通知發送超過256字節的數據
- 20. 通過語音通話發送數據
- 21. 使用php通過curl發送發佈數據
- 22. 通過PIC16F877A的UART發送10bit數據
- 23. 錯誤的數據發送通過Ajax
- 24. 通過jQuery的ajax數據不發送
- 25. 解碼通過websocket發送的數據
- 26. 發送數據超過使用HttpURLConnection的
- 27. 使用函數通過python發送gmails
- 28. 通過使用C的webservice發送大量的數據#
- 29. 如何通過AJAX後發送數據,使用數組
- 30. 如何通過intent發送數據而不使用finish()函數?