UDP bericht naar server applicatie op PC | Internet of Things
UDP bericht naar server applicatie op PC
Niels Veul
Momenteel ben ik bezig om communicatie op te zetten tussen een Sodaq SARA R412M development board en een server applicatie op een PC. Via LTE-M loopt dit allemaal soepel, maar met NB-IoT krijg ik het idee dat het niet mogelijk is om direct vanaf het modem naar de server berichten te sturen. Ook kan ik nergens een duidelijke uitleg vinden over wat er eventueel met endpoints gedaan kan/moet worden om dit voor elkaar te krijgen.
Als iemand wat meer informatie voor mij heeft om dit te bewerkstelligen zou dat heel fijn zijn.
Hi Niels, op ons NB-IoT netwerk kan je vanaf je device uplink berichten versturen naar ons netwerk.
En op ons netwerk kun je , binnen jouw eigen omgeving, aangeven naar welke callback URL (applicatie server) je de berichten van je device wilt doorsturen.
Een uitleg hierover vind je op https://docs.iot.t-mobile.nl/docs/v-getting-the-data-at-your-own-application
Hoor graag of je hier genoeg aan hebt!
last edited by @afzal_m
@afzal_m Hallo Afzal, Bedankt voor de snelle reactie. Voor mijn toepassing wil ik de data eigenlijk doorsturen naar een specifieke poort en IP adres, is dit ook mogelijk? Ik blijf namelijk het bericht krijgen "geef een URL op" als ik "http://10.15.90.148:71" invul als endpoint.
@afzal_m Hallo Afzal, nog even een kleine update. Ik heb het nu wel voor elkaar dat mijn IP en poort geaccepteerd wordt als endpoint, maar krijg nu het bericht "Er kon geen verbinding worden gemaakt met de opgegeven URL. Probeer het ajb. nogmaals." Kan ik hieruit opmaken dat de berichten niet met UDP naar het endpoint verstuurd worden maar TCP?
Klopt inderdaad. En we sturen het in een JSON formaat. Het is ook belangrijk dat jouw applicatie server in staat is om een leeg bericht te accepteren. Het eerste bericht wat je verstuurd, wanneer je de URL bij ons registreerst, is namelijk een leeg registratiebericht naar jouw applicatie server.
@afzal_m Is het binnen het t-mobile NB-IoT netwerk wel mogelijk om direct vanaf een modem een UDP bericht naar een eigen server te sturen? Of moet de communicatie altijd via de t-mobile server en een endpoint lopen?
last edited by @Niels Veul
@niels-veul het gaat idd altijd via onze service capability server.
Ben benieuwd naar de aanleiding van je vraag! Loop je op deze manier ergens vast met het uitrollen van je oplossing?
@afzal_m Momenteel ben ik bezig met het opzetten van een aantal tests om LTE-M en NB-IoT met elkaar te vergelijken. Hiervoor heb ik een UDP server applicatie voor mijn PC geschreven waarmee het modem kan communiceren. Met LTE-M werkte dit allemaal prima en kon ik vanaf het modem direct naar het IP en de poort van mijn PC communiceren. Ik zou graag met NB-IoT iets opzetten dat vergelijkbaar werkt, maar kan nergens vinden hoe ik dit voor elkaar kan krijgen.
@niels-veul Hoi Niels. Verkeer tussen jouw applicatie en het T-Mobile netwerk is altijd in JSON formaat via HTTP(S). Verkeer tussen jouw modem en het T-Mobile netwerk kan UDP of CoAP zijn. Je zou het dus zo kunnen zien:
Modem <- [UDP] -> T-Mobile CDP <- [HTTP] -> Jouw applicatie
Dit betekent dus dat je nooit 'direct' over het open internet met een modem praat, zoals je LTE-M demo. Er zit altijd een proxy tussen, het CDP. Om te praten met het T-Mobile netwerk zul je dus een applicatie moeten opzetten die om kan gaan met HTTP.
Bedankt voor de hulp allemaal, ik ga kijken of ik het voor elkaar krijg een demo via HTTP op te zetten.
gerrit seigers
@niels-veul hallo Niels. Ik zie in de thread dat je een 10.x.x.x nummer gebruikt voor je server. Dit zal niet werken om naar toe te redirecten omdat deze reeks wordt gebruikt voor interne netwerken. Als je dit nummer wel wilt gebruiken zul je wel een NAT moeten definiëren op jou router.