Ich möchte MQtt-Protokoll als Messing-Protokoll verwenden. Ich möchte die Mqtt Library auf dem Microcontroller TMS470 (Texas Instrument) mit CCS Compiler portieren. Da ich neu bei diesem Protokoll bin, kann mir jeder Körper vorschlagen, wie dieses Protokoll mit dem GPRS-Modul funktioniert. Ich habe eine Studie über MQtt gemacht. Aber ich weiß nicht, wie ich anfangen soll. Nach dem Öffnen des TCP/IP, wie Sie die Daten veröffentlichen oder abonnieren. In der Regel, wie die Bibliothek portiert wird. Und wo ich eine Bibliothek bekommen werdeMQTT-Bibliothek auf Mikrocontroller
Antwort
Sie können die Paho Embedded-Client-Bibliothek verwenden: https://eclipse.org/paho/clients/c/embedded.
Mit dieser Bibliothek müssen Sie nur die Logik zum Schreiben und Lesen von Ihrem GPRS-Modul (Netzwerk) und Zeitmanagement (Timer) implementieren.
Als Beispiel können Sie meine MQTT-Bibliothek für Arduino ansehen: https://github.com/256dpi/arduino-mqtt. Es gibt auch weitere Beispiele im eingebetteten Paho-Client-Repository.
Ich habe ähnliches Problem, ich verwende STM32F405 und GPRS-Modul (Quectell M95). Ich kann das MQTT-Paket nicht korrekt empfangen. Als meine Erfahrung, mit PAHO Embedded C-Bibliothek, kann ich eine Testnachricht zu iot.eclipse.org veröffentlichen.
Benjamin MQTT mit CC3200 Beispiel ist sehr gut, Konzept zu verstehen. Sehen Sie sich das Video-Tutorial an.
Wie ich verstehe, PAHO Embedded-C-Bibliothek serilaze MQTT Paket und Sie müssen Transportmethode zur Bibliothek implantieren. (Senden/Empfangen/Verbinden/Trennen)
Dies ist meine Funktion transport_sendPacketBuffer(), es legt nur Puffer zu GPRS-Modul. Verwenden Sie nicht printf. Ursache, MQTT-Paket kann 0x00 oder jede Art von Daten enthalten. "buflen" wird von der Bibliothek berechnet.
int transport_sendPacketBuffer(int out, char* buf, int buflen)
{
int i=0;
for(i=0;i<=buflen;i++){
put(buf[i]); // Put One char to GPRS modem .
}
}
Bevor Sie Sie transport_data Buchse mit AT-Befehls anschließen müssen, gibt es mehrere Methoden zu verbinden. Es hängt von Ihrem GSM-Modul ab. AT + Command/TCP Dokumentation (Transparent/Multiple Connect) Wenn Sie eine Bibliothek für Ihr GSM-Modul haben, wird es auch sehr hilfreich sein.
Das ist einfach Quectel M95 TCP-Socket-Verbindung Befehl AT + QIOPEN
int CONNECT_SERVER_SOC (char *ip,int soc){
char bf[128];
sprintf(bf,"AT+QIOPEN=\"TCP\",\"%s\",%d\r\n",ip,soc); // ip= "198.41.30.241", port:1883
// iot.eclipse.org
printf("%s",bf);
}
Wenn Sie recive Nachricht verarbeiten kann ich froh, das zu hören.
Was ist IP, ist es die IP des Brokers? oder GPRS-Modul (es ist eigene iP) und was ist soc –
Es ist IP-Adresse und Port des Brokers. Einfach pingen iot.eclipse.org. soc bedeutet port, 1883. iot.eclipse.org hat einen offenen Broker für Testprobleme. Sie können "MQTTLens" Plug-in für Chrome herunterladen. So können Sie mit dem iot.eclipse.org-Broker pub/sub-Nachrichten senden. –
- 1. Lesen von Mikrocontroller
- 2. Mikrocontroller schlägt bei malloc
- 3. 8051 Mikrocontroller Kit Empfehlung?
- 4. Invensense IMU3000 mit Mikrocontroller PIC
- 5. Unexpected Bitverschiebung Ergebnis auf 8051 (8-Bit) Mikrocontroller
- 6. Benutzerdefinierte Bootloader für Kinetis MKE06Z Mikrocontroller auf IAR EWARM Ausgabe
- 7. Unit-Testmuster für Mikrocontroller C-Code
- 8. 8051 Mikrocontroller serielle Schnittstelle Schleifen mit P0
- 9. Schreiben von Apps in C für Mikrocontroller
- 10. eingebettet c und die 8051-Mikrocontroller
- 11. Externer Flash-Speicher löschen (MCF51EM256 Mikrocontroller)
- 12. "printf" im Mikrocontroller, wozu dient es?
- 13. Wer führt POST aus? BIOS-Mikrocontroller oder CPU?
- 14. Schnittstelle zwischen einem DSP/Mikrocontroller und einer PC-Anwendung
- 15. Wie kann sich ein energiesparender Mikrocontroller gegenüber einem Server authentifizieren?
- 16. wie Ultraschallsensor hc-sr04 mit easyPic v7 Mikrocontroller
- 17. Wie kommuniziert man mit dem Mikrocontroller über eine Webschnittstelle?
- 18. Warum funktioniert der "acall" -Befehl nicht im Atmel 89C2051-Mikrocontroller?
- 19. Wie erzeuge ich effizient Zufallszahlen in einem Mikrocontroller?
- 20. Wie ist der primäre Speicher in einem Mikrocontroller organisiert?
- 21. Ist XXTEA ein guter Verschlüsselungsalgorithmus für einen PIC-Mikrocontroller?
- 22. Wie kann ich einen unerwarteten Reset in einem Mikrocontroller
- 23. Wie Hex-Datei in Mikrocontroller in binäre konvertiert
- 24. Wie würde ich einen Audio-Trakt auf Nyquist-Frequenz mit c und einem Mikrocontroller testen?
- 25. Verwenden Sie Java auf ein Brett mit einem Mikrocontroller über Ethernet
- 26. Wie lese ich Daten auf einem Android-Telefon, das von einem mit dem Mikrocontroller verbundenen Bluetooth-UART-Gerät gesendet wurde?
- 27. Wie man einen einzigen Screenshot von einer Fotokamera mit Mikrocontroller bekommt
- 28. Welche Software benötigen Sie, um eine Firmware-Anwendung mit dem Atmel 89C2051 Mikrocontroller zu entwickeln?
- 29. Wie könnte ich einen Interrupt (für Mikrocontroller) in einem Flussdiagramm darstellen?
- 30. Theoretisch wissen, wie leistungsstark ein Mikrocontroller Sie brauchen, um Ihr Programm zu starten?
Danke, also MQTT ist nur messing Format, die mit GPRS senden müssen ?. Wenn nicht, können Sie mir sagen, was die Schnittstelle zwischen MQTT und GPRS ist. –
MQTT ist ein Protokoll, das über einen TCP-Stream ausgeführt wird. Sie müssen Ihr Modem vorher mit AT-Befehlen konfigurieren. Die eingebettete Bibliothek wird eine nette Schnittstelle in Form einer Client-Klasse bereitstellen. Aber Sie müssen die Netzwerkschicht implementieren (wie Sie die Bytes selbst senden und empfangen), die Netzwerkklasse selbst. – 256dpi