Vraag

Verbinding tussen Simcom7070g en kpn things

  • 8 March 2022
  • 23 reacties
  • 365 keer bekeken

Hoi,

Ik probeer via een simcom7070g modem data te versuteren naar mijn device in kpn things. Dit doe ik met behulp van AT commands. Ik weet verbinding met het netwerk te maken en krijg zelf ook een ipadress toegewezen. Bij het versturen van de http request krijg ik altijd een +SHREQ: “POST”, 400,150 error terug.

Ik probeer een SenMl bericht te versturen, naar mijn device in kpn things.

Dit zijn mijn AT commands:

Kan iemand mij vertellen wat ik fout doe?

 

 

open the port...

 

[13:51:18.388]OUT AT+CPIN?

 

[13:51:18.393]IN AT+CPIN?

+CPIN: READY

 

OK

 

[13:51:19.353]OUT AT+CSQ

 

[13:51:19.353]IN AT+CSQ

+CSQ: 31,99

 

OK

 

[13:51:20.528]OUT AT+CGATT?

 

[13:51:20.528]IN AT+CGATT?

+CGATT: 1

 

OK

 

[13:51:22.473]OUT AT+COPS?

 

[13:51:22.473]IN AT+COPS?

+COPS: 0,0,"NL KPN",7

 

OK

 

[13:51:23.546]OUT AT+CGNAPN

 

[13:51:23.546]IN AT+CGNAPN

+CGNAPN: 1,"kpnthings.iot"

 

OK

 

[13:51:25.115]OUT AT+CNACT=0,1

 

[13:51:25.115]IN AT+CNACT=0,1

ERROR

 

[13:51:27.039]OUT AT+CNACT?

 

[13:51:27.039]IN AT+CNACT?

+CNACT: 0,1,"10.11.0.204"

+CNACT: 1,0,"0.0.0.0"

+CNACT: 2,0,"0.0.0.0"

+CNACT: 3,0,"0.0.0.0"

 

OK

 

[13:51:31.290]OUT AT+CREG?

 

[13:51:31.305]IN AT+CREG?

+CREG: 0,1

 

OK

 

[13:51:34.535]OUT AT+SHCONF=URL,http://10.151.236.157

 

[13:51:34.535]IN AT+SHCONF=URL,http://10.151.236.157

OK

 

[13:51:36.364]OUT AT+SHCONF="BODYLEN",1024

 

[13:51:36.364]IN AT+SHCONF="BODYLEN",1024

OK

 

[13:51:40.693]OUT AT+SHCONF="HEADERLEN",350

 

[13:51:40.693]IN AT+SHCONF="HEADERLEN",350

OK

 

[13:51:43.134]OUT AT+SHCONN

 

[13:51:43.150]IN AT+SHCONN

[13:51:43.641]IN

OK

 

[13:51:45.276]OUT AT+SHSTATE?

 

[13:51:45.291]IN AT+SHSTATE?

+SHSTATE: 1

 

OK

 

[13:51:47.595]OUT AT+SHCHEAD

 

[13:51:47.595]IN AT+SHCHEAD

OK

 

[13:51:50.674]OUT AT+SHAHEAD=Host,m.m

 

[13:51:50.689]IN AT+SHAHEAD=Host,m.m

OK

 

[13:51:53.998]OUT AT+SHAHEAD=Things-Message-Token,9119bc482f3b41c49320d80e6d904afa8a826eb04ab7bb02c8e864e30dcd9caa

 

[13:51:53.998]IN AT+SHAHEAD=Things-Message-Token,9119bc482f3b41c49320d80e6d904afa8a826eb04ab7bb02c8e864e30dcd9caa

OK

 

[13:51:56.218]OUT AT+SHAHEAD=Content-Type,application/json

 

[13:51:56.234]IN AT+SHAHEAD=Content-Type,application/json

OK

 

[13:51:58.395]OUT AT+SHAHEAD=Content-Length,84

 

[13:51:58.410]IN AT+SHAHEAD=Content-Length,84

OK

 

[13:52:00.238]OUT AT+SHBOD=84,10000

 

[13:52:00.238]IN AT+SHBOD=84,10000

>

[13:52:02.139]OUT[{"bn":"urn:dev:IMEI:865456053717862:","n":"temperature","u":"Cel","v":27.15838051}]

 

[13:52:02.154]IN[{"bn":"urn:dev:IMEI:865456053717862:","n":"temperature","u":"Cel","v":27.15838051}]

 

OK

 

[13:52:15.636]OUT AT+SHREQ="http://10.151.236.157/ingestion/m2m/senml/v1",3

 

[13:52:15.651]IN AT+SHREQ="http://10.151.236.157/ingestion/m2m/senml/v1",3

OK

 

[13:52:15.909]IN

+SHREQ: "POST",400,150

 

 

 

 


23 reacties

Reputatie 7
Badge +6

Goedemiddag @ruben.o 

Welkom op het Zakelijk KPN Forum! 
Natuurlijk helpen we je graag verder en zoeken we uit hoe we de error bij de HTTP request kunnen verhelpen. Ik moet zeggen dat ik zelf geen specialist ben op het gebied van M2M connectiviteit, dus ik ga ook wat hulplijnen inschakelen. Ik ben nog wel even benieuwd over welk device we het nu precies hebben? Ik vermoed dat je device “Simcom 7070G Los” bedoelt?

Goedemiddag @ruben.o 

Welkom op het Zakelijk KPN Forum! 
Natuurlijk helpen we je graag verder en zoeken we uit hoe we de error bij de HTTP request kunnen verhelpen. Ik moet zeggen dat ik zelf geen specialist ben op het gebied van M2M connectiviteit, dus ik ga ook wat hulplijnen inschakelen. Ik ben nog wel even benieuwd over welk device we het nu precies hebben? Ik vermoed dat je device “Simcom 7070G Los” bedoelt?

Ja, mijn device in kpn things is inderdaad simcom7070g los.

Reputatie 7
Badge +6

Goedemorgen, 

Bedankt voor de reactie! 
De vraag staat uit bij de specialisten om te kijken waar het precies mis gaat en hoe dit opgelost kan worden. Zodra ik een terugkoppeling ontvang kom ik uiteraard direct bij je terug.

Oke is goed!. Ik heb inmiddels werkend gekregen om met de Simcom7070g succesvol http requests te sturen, naar een testservertje met een ander sim kaartje. De configuratie van de AT commands zijn dus juist. Probleem ligt ergens dat de server side niet in staat is om mijn berichtje correct te accepteren. Wat ik wel merk dat mijn testserver (webhook.site) niet in staat in om berichtjes te accepteren wanneer ik de http header Content-Length toevoeg (400 error). Als ik deze weglaat, gaat dit berichtje wel goed (statuscode 200) , de header content-length staat er wel tussen bij het binnenkomende bericht.

Hieronder de AT-commands voor een Simcom7070g voor een http post request die de inhoud heeft van een Kpn Things message, alleen webhook.site als bestemming ipv  http://10.151.236.157/ingestion/m2m/senml/v1.

 

[11:51:50.614]OUT AT+CGNAPN

 

[11:51:50.620]IN  AT+CGNAPN

+CGNAPN: 1,"internet.m2m"

 

OK

 

[11:51:51.617]OUT AT+CREG=1

 

[11:51:51.623]IN  AT+CREG=1

OK

 

[11:51:52.620]OUT AT+CNACT=0,1

 

[11:51:52.620]IN  AT+CNACT=0,1

ERROR

 

[11:51:53.622]OUT AT+SHREQ?

 

[11:51:53.622]IN  AT+SHREQ?

+SHREQ: http://webhook.site/323a6fa3-2872-4edd-9875-9ef5f418f0a1,3

 

OK

 

[11:51:54.625]OUT AT+SHCONF="URL","http://webhook.site"

 

[11:51:54.625]IN  AT+SHCONF="URL","http://webhook.site"

OK

 

[11:51:55.630]OUT AT+SHCONF="BODYLEN",1024

 

[11:51:55.630]IN  AT+SHCONF="BODYLEN",1024

OK

 

[11:51:56.634]OUT AT+SHCONF="HEADERLEN",350

 

[11:51:56.634]IN  AT+SHCONF="HEADERLEN",350

OK

 

[11:51:57.634]OUT AT+SHCONN

 

[11:51:57.634]IN  AT+SHCONN

[11:51:58.139]IN  

OK

 

[11:51:58.640]OUT AT+SHSTATE?

 

[11:51:58.640]IN  AT+SHSTATE?

+SHSTATE: 1

 

OK

 

[11:51:59.629]OUT AT+SHCHEAD

 

[11:51:59.629]IN  AT+SHCHEAD

OK

 

[11:52:00.633]OUT AT+SHAHEAD="Host","m.m"

 

[11:52:00.633]IN  AT+SHAHEAD="Host","m.m"

OK

 

[11:52:01.651]OUT AT+SHAHEAD="Things-Message-Token","d05e0f7488ab21f48ee5cf65f47748f7ee02e9ea314edf2b1676dd5634f4d892"

 

[11:52:01.657]IN  AT+SHAHEAD="Things-Message-Token","d05e0f7488ab21f48ee5cf65f47748f7ee02e9ea314edf2b1676dd5634f4d892"

OK

 

[11:52:02.676]OUT AT+SHAHEAD="Content-Type","application/json"

 

[11:52:02.676]IN  AT+SHAHEAD="Content-Type","application/json"

OK

 

[11:52:03.695]OUT AT+SHBOD=78,10000

 

[11:52:03.695]IN  AT+SHBOD=78,10000

>

[11:52:04.697]OUT [{"bn":"urn:dev:IMEI:865456053717862:","n":"temperature","u":"Cel","v":25.82}]

 

[11:52:04.697]IN  [{"bn":"urn:dev:IMEI:865456053717862:","n":"temperature","u":"Cel","v":25.82}]

 

OK

 

[11:52:05.706]OUT AT+SHREQ="http://webhook.site/323a6fa3-2872-4edd-9875-9ef5f418f0a1",3

 

[11:52:05.706]IN  AT+SHREQ="http://webhook.site/323a6fa3-2872-4edd-9875-9ef5f418f0a1",3

OK

 

[11:52:07.211]IN  

+SHREQ: "POST",200,12

 

[11:52:10.705]OUT AT+SHREAD=0,12

 

[11:52:10.705]IN  AT+SHREAD=0,12

OK

 

+SHREAD: 12

Goed gedaan!

 

[11:52:15.693]OUT AT+SHDISC

 

[11:52:15.693]IN  AT+SHDISC

OK

 

[11:52:16.695]OUT AT+CNACT=0,0

 

[11:52:16.695]IN  AT+CNACT=0,0

OK

 

+APP PDP: 0,DEACTIVE

Reputatie 7
Badge +6

Goedemiddag Ruben, 

Bedankt voor de update en aanvulling! 
Goed om te lezen dat je weer een stap verder bent. Ik heb van mijn collega begrepen dat er een trace op het device is gezet om meer inzicht te krijgen wat er precies gebeurt. Naar aanleiding van jouw aanvulling heb ik dit weer doorgespeeld naar de specialisten. Dit gaat natuurlijk alleen maar helpen om tot de oplossing te komen. Ik verwacht begin volgende week meer duidelijkheid te krijgen. 

Reputatie 7
Badge +6

Goedemorgen Ruben, 

Excuses voor de late reactie! 
Ik heb deze week om een update gevraagd en ik kreeg te horen dat er geen data van dit device meer binnengekomen is. De trace die er op dit device is gezet heeft daarom niet geholpen. Er zou dus een nieuwe trace opgezet moeten worden om dit verder te kunnen onderzoeken, waarbij het device tijdens de trace dus wel actief moet zijn. 

Goedemorgen Ruben, 

Excuses voor de late reactie! 
Ik heb deze week om een update gevraagd en ik kreeg te horen dat er geen data van dit device meer binnengekomen is. De trace die er op dit device is gezet heeft daarom niet geholpen. Er zou dus een nieuwe trace opgezet moeten worden om dit verder te kunnen onderzoeken, waarbij het device tijdens de trace dus wel actief moet zijn. 

Hoi, afgelopen week waren er wat problemen met ziekte vanuit onze kant. Alles en iedereen is nu herstelt. Zouden jullie de trace opnieuw kunnen opzetten. Dan kan ik proberen wat requests naar de device te sturen.

Reputatie 7
Badge +6

Goedemiddag Ruben, 

Goed om te lezen dat iedereen weer hersteld is! 
Ik heb direct het verzoek om een nieuwe trace op te zetten doorgezet. Ik weet niet zeker wanneer de trace precies actief zal zijn, maar verwacht dat dit snel gebeurd. Hopelijk komen we er snel achter waar het mis gaat. 

Reputatie 7
Badge +6

Goedemorgen Ruben,

Ik heb vanochtend een terugkoppeling ontvangen van de specialist: 

Een mogelijke oorzaak van het probleem is de dubbele host in de header. 

POST /ingestion/m2m/senml/v1 HTTP/1.1

Host: 10.151.236.157

Content-length: 84

Host: m.m

Je kan proberen de host: 10.151.236.157 weg te halen en het dan nogmaals proberen. 

Daarnaast leeft er het vermoeden dat in één van onderstaande commando's (waarschijnlijk de bovenste), het IP-adres vervangen moet worden voor “m.m”. Dit zal dan de host header vullen met m.m. Dan moet de header daarna niet nogmaals toegevoegd worden. 

13:51:34.535]OUT AT+SHCONF=URL,http://10.151.236.157[13:52:15.636]OUT AT+SHREQ=http://10.151.236.157/ingestion/m2m/senml/v1,3

Dus dit commando zal dan niet moeten worden uitgevoerd: [13:51:50.689]IN AT+SHAHEAD=Host,m.m

Zou je dit willen testen en laten weten of dit geholpen heeft? 
 

 

Oke, ik zal proberen de host header te vullen met alleen de m.m. Ikzelf heb nooit excpliciet de “Host: 10.151.236.157” toegevoegd. Dit zal dan automatisch gedaan zijn. Hopelijk zal het helpen, ik kan dit morgen uitproberen.

Hoi, ik heb vandaag geprobeerd om nieuwe requests te versturen. Helaas met geen succes. Ik blijf of 400 errors krijgen (met content length header en 404 errors (bij geen content length en geen host: m.m header.) Is er geen manier om direct contact te kunnen hebben met de specialist? Ik heb het gevoel dat de requests vrij erg gefine tuned moeten worden, en met het heen en weer schrijven denk ik niet dat we zo tot de oplossing komen.

Hoi, ik heb vandaag geprobeerd om nieuwe requests te versturen. Helaas met geen succes. Ik blijf of 400 errors krijgen (met content length header en 404 errors (bij geen content length en geen host: m.m header.) Is er geen manier om direct contact te kunnen hebben met de specialist? Ik heb het gevoel dat de requests vrij erg gefine tuned moeten worden, en met het heen en weer schrijven denk ik niet dat we zo tot de oplossing komen.

PS: Via de arduino weet ik wel succesvol requests te versturen mbv het voorbeeld scriptje dat jullie hebben gemaakt en de thingsml librrary.

Reputatie 7
Badge +6

Goedemiddag Ruben, 

Bedankt voor het testen! 
Zonde dat het nog niet geholpen heeft. Ik ga dit uiteraard weer met de specialisten bespreken en kijken hoe verder. 
Zodra ik weer een update heb kom ik gelijk bij je terug! 

Is er toevallig een manier om direct met een specialist te chatten? Misschien is het mogelijk om live de headers and requests te debuggen. 

Goedemorgen!

Vandaag met groot plezier is het me gelukt om berichtjes te versturen die ook aankomen bij KPN Things. De SImcom7070G heeft de mogelijkheid om zowel via HTTP command en TCP commands requests te versturen. Alle pogingen hiervoor waren vie de HTTP manier. Hier gebeurde dus het fenomeen met een dubbele host header. Ik vermeen dat het moden dat automatisch op de achtergrond doet. 

De manier die mij wel gelukt is om via TCP een connectie te maken en de volledige HTTP requests (headers + body) in zijn geheel te versturen.

Wel heb ik nog een laatste opmerking: vanuit kpn things is er geen authenticatie op wie het bericht verstuurd. Ik verstuur het namelijk met een ander simkaartje dan 865456053717862. Wie het verstuurd maakt niet uit, maar als het maar een goede combinatie van imei nummer + secret-key wordt gebruikt om de things-message-token te maken. Misschien kan dat een improvement zijn voor de toekomst; KPN things kijkt ook wie het berichtje verstuurd en of deze correspondeert met de destinatie.

 

Ik kijk er naar uit om de FOTA applicatie uit te proberen!

 

Dit werkt correct zoals behoren: 

 

[10:11:19.032]OUT  AT+CAOPEN=0,0,"TCP","10.151.236.157",80

 

[10:11:19.034]IN AT+CAOPEN=0,0,"TCP","10.151.236.157",80

[10:11:19.761]IN

+CAOPEN: 0,0

 

OK

 

[10:11:20.734]OUT  AT+CASEND=0,276

 

[10:11:20.734]IN AT+CASEND=0,276

>

[10:11:22.400]OUT  POST /ingestion/m2m/senml/v1 HTTP/1.1

Host: m.m

Content-Type: application/json

Things-Message-Token: 1fe491f6b6b22f1d43412c3e197e0138b8e4c692059cbd73ac9640e47619c9c9

Content-Length: 84

 

[{"bn":"urn:dev:IMEI:865456053717862:","n":"temperature","u":"Cel","v":29.67678261}]

 

[10:11:22.408]IN

OK

 

[10:11:22.796]IN

+CADATAIND: 0

 

[10:11:25.661]OUT  AT+CARECV=0,500

 

[10:11:25.669]IN AT+CARECV=0,500

+CARECV: 97,HTTP/1.1 202

Date: Fri, 25 Mar 2022 09:11:22 GMT

Content-Length: 0

Connection: keep-alive


 

OK

Reputatie 7
Badge +6

Goedemiddag Ruben, 

Wat super om te lezen dat het nu gelukt is!
Natuurlijk zou het ook moeten werken met HTTP commands. Mijn collega's zoeken nog uit hoe dat precies zit. Het belangrijkste is natuurlijk dat je verder kan. 

Verder zijn we erg blij met je tip. Die zijn altijd welkom en nemen we graag mee om de dienst te kunnen verbeteren. Als je nog andere opmerkingen, feedback of tips hebt horen we het graag! 

Fijn weekend alvast! 

Fijn weekend!

Het is inderdaad fijn dat het connectieprobleem opgelost is.  Mijn vermoeden is dat het moden (Simcom7070G) automatisch de host header plaatst gebaseerd op de url vd server. Met de TCP route, kan ik na het verbinden met de server, de hele HTTP requests als al voorgeschreven pakketje doorsturen.

Het opzetten van dit algehele pakketje (HTTP headers + HTTP Body (SENML) heb ik nog wel moeite mee. Ik werk met een ESP32S3. Deze programmeer ik NIET met de arduino omgeving, waar jullie een library voor hebben geschreven.

Ik weet niet of jullie bekend zijn met de ESP-IDF omgeving. Ik ben op het moment bezig met het schrijven van een programma die met de ESP32S3 SenML packages via de Simcom7070G kan versturen naar de KPN Things. Ik heb atm nog vrij veel moeite met het overzetten van de ThingsML library vanuit de Arduino naar de ESP-IDF omgeving. Hebben jullie in de toekomst plannen om deze library gebruiksklaar te maken voor de ESP-IDF omgeving? 

Ik hoor hier graag meer over. Zou een mooie toevoeging zijn!

Reputatie 7
Badge +6

Goedemorgen Ruben, 

Het zou heel goed kunnen dat het modem inderdaad automatisch de host header plaatst. Ik heb de vraag mbt de ESP-IDF omgeving en de mogelijkheid om de ThingsML library om te te zetten naar de ESP-IDF omgeving natuurlijk ook nog even doorgespeeld naar m'n collega's. 

Ik hoop hier snel meer info over te krijgen. 

Reputatie 7
Badge +6

Goedemiddag Ruben, 

Vanmiddag weer even contact gehad met de specialisten en ik heb wat meer informatie. Wat dat betreft de authenticatie kan ik melden dat dit in de toekomst wel gaat veranderen. Hiervoor is Radius authenticatie nodig op Sim niveau en daar wordt aan gewerkt. 

Daarnaast heb ik begrepen dat het verzoek met betrekking tot de ESP-IDF omgeving en de mogelijkheid om de ThingsML library over te zetten naar de ISP-IDF omgeving is doorgezet naar het development team. Er wordt dus onderzocht wat we hiermee kunnen doen. 

 

Fijn weekend! 

Hoi Rick

Goedemiddag Ruben, 

Vanmiddag weer even contact gehad met de specialisten en ik heb wat meer informatie. Wat dat betreft de authenticatie kan ik melden dat dit in de toekomst wel gaat veranderen. Hiervoor is Radius authenticatie nodig op Sim niveau en daar wordt aan gewerkt. 

Daarnaast heb ik begrepen dat het verzoek met betrekking tot de ESP-IDF omgeving en de mogelijkheid om de ThingsML library over te zetten naar de ISP-IDF omgeving is doorgezet naar het development team. Er wordt dus onderzocht wat we hiermee kunnen doen. 

 

Fijn weekend! 

Hoi Rick,

Is er hier al wat meer nieuws over?

 

Reputatie 7
Badge +6

Hey Ruben, 

Ik ga bij mijn collega's vragen of er al meer bekend is over bovenstaande punten. Ik kom hier op terug.

Reputatie 7
Badge +6

Goedemorgen Ruben, 

Excuses voor de late reactie! 
Ik heb tot op heden nog geen duidelijke terugkoppeling ontvangen. Ik ga er daarom weer even opnieuw achteraan. 

Reputatie 7
Badge +6

Hi Ruben, 

Afgelopen week ben ik zelf met verlof geweest. 
In de tussentijd kreeg ik van mijn collega's te horen dat er nog geen concrete datum bekend is wanneer de authenticatie update gaat komen. 
 

Het stuk met betrekking tot de ESP-IDF omgeving ligt nog bij development en ook daar is helaas nog geen nieuws over. 

Reageer