Requirements for your Application Server

  • 10 augustus 2016
  • 27 reacties
  • 3138 keer bekeken

Reputatie 2
Badge +1
This post has become obsolete as it was incorporated in the Setting up your Application Server topic.

LoRa data is forwarded to an application server of your choice. The application server can be any public URL on the internet and can be your own server or somewhere in the cloud. In order for the application server to work properly, below items are required:
  • Application Servers must have a valid SSL certificate
  • Receive, send and decode HTTPS POST messages from public internet
  • Check and generate SHA-256 hex signatures

Additionally it is also important to realize that payload of LoRa devices are not saved by KPN. When an application server is down for some reason, your payload data will be lost. You can get additional redundancy by configuring multiple application servers in Thingpark.

27 reacties

Ik heb mijn AS server staan, maar ik heb een zeldzaam probleem. Ons SSL certificaat is goed opgezet, heeft een correcte chain, en ik heb eerder van KPN POST calls hiermee opgevangen. Dit is op een gegeven moment opgehouden met functioneren, maar weet niet precies wanneer door een kleine pauze in de werkzaamheden. Ik kan zelf met postman een call sturen en deze komt gewoon aan. KPN stuurt wel een call naar hookbin als test, maar er komt nagenoeg niks aan. Is er iets wat ik nog kan proberen ?

Sidenotes: ik gebruik een ander account in het thingpark, maar ik heb de oude account helemaal schoongemaakt wat betreft instellingen. Ik heb ook een andere AS key geprobeerd, tevergeefs.
Ons server adres eindigd op :1880/lorapost . De certificate klopt op dit adres ook gewoon.
Reputatie 2
Badge +1
Beste Grease,

Wanneer je gebruik maakt van Thingpark moet je gebruik maken van poort 443 om door KPN firewalls te kunnen komen. Als ik het goed zie gebruik jij poort 1880 en dat gaat dan waarschijnlijk daarom niet goed.

Groet,

Michiel
Mijn excuses Michiel, ik was vergeten te vermelden dat het om een externe application server gaat. Als sidenote, hij heeft 2 maanden geleden nog gewoon gewerkt.

Node --> KPN --> Onze Node-red server

Als ik een oplossing vind dan laat ik het hier ook weten in ieder geval!


Beste Grease,

Wanneer je gebruik maakt van Thingpark moet je gebruik maken van poort 443 om door KPN firewalls te kunnen komen. Als ik het goed zie gebruik jij poort 1880 en dat gaat dan waarschijnlijk daarom niet goed.

Groet,

Michiel
Reputatie 2
Badge +1
Hi Grease,

Wat ik bedoel is dat poort 443 moet worden gebruikt in al het verkeer, ook uplink vanuit Thingpark naar jouw applicatie server. Poort 1880 gebruiken als endpoint in een server werkt dus niet.

Groet,

Michiel
bedankt voor je hulp. Ik denk dat we hiermee verderkunnen!

Vriendelijke groet,

Grease
Hallo Michiel, het is gelukt. De nodeRED server helemaal opnieuw geïnstalleerd en het werkt nu. Dat doet echt wonderen. We probeerden echter niet alles op poort 1880 te draaien, maar de UI werd hier op gehost en we wilden dat nummer niet per sé in de URL hebben, maar we konden het niet weg krijgen! dus we hebben hem maar opnieuw geinstalleerd 😉
Reputatie 2
Badge +1
Mooi 🙂, goed om te horen
Hallo Michiel,
Ik heb een account op het developerportal. Ons LoRa devicegeeft elke 10 minuten een payload door met o.a. de GPS coördinaten. Het device is geconfigureerd met een Application Server URL en we krijgen dan ook berichten door. Echter alle berichten bevatten geen payload, terwijl deze wel in het developerportal zichtbaar is. Wat is het probleem? Ik heb het idee dat er aan de kant van KPN iets niet goed gaat waardoor ik geen payload mee krijg in de body. Als ik test met Postman dan werkt het zonder problemen.
Reputatie 5
Badge +5
Hi wietsekok,

Mijn collega's Michiel en Timme zijn hierover in gesprek. Voor nu is het heel even wachten op de uitkomst van dat gesprek. Zodra hier meer over bekend is laat ik het u weten.
Beste Rashid,

Dank voor uw reactie. Ik heb inmiddels contact gehad met Timme. Het is gelukt om de data die in de payload gestuurd wordt op onze AS te krijgen. Wat ik begrepen heb is dat er van dit stuk geen handleiding is voor developers. Hebben jullie een plek waar ik dit kwijt kan? Er zijn een paar dingen waar op gelet moet worden bij het maken van REST 2 API in .NET.
Reputatie 5
Badge +5
Hi Wietsekok,

Goed om te lezen dat het is gelukt om de data uit de payload op de application server te krijgen. Wat ontzettend leuk dat u wilt toelichten hoe het werkt! Ik ben zeer benieuwd naar uw ervaringen.
De Lora community zal het erg waarderen als u een nieuw topic aanmaakt hierover. Op deze manier besparen we tijd en moeite voor nieuwe gebruikers en genereren we een knowledge base. 😃
Is there any possibility atm or, alternatively, a tangible future plan to integrate with major players in the IoT market, for instance, Amazon AWS IoT? I would like to use KPN LoRA network to send messages from our devices to AWS IoT, and use IoT device registry, but I am not sure atm how that would play out with your infrastructure and HTTP POST messages...
Reputatie 5
Badge +5
Hi khorns,

Welkom op het zakelijk KPN forum!

Vooralsnog is hier nog niks over bekend. Ik ga uw vraag duursturen naar mijn collega's die wat meer gespecialiseerd hierin zijn. Zodra ik een antwoord heb, kom ik bij u erop terug.
Reputatie 5
Badge +5
Hi khorns,

Thank you for your patience! This morning I received an answer from my colleague about your questions.

It is possible to start up a web server in AWS so you can receive http messages. We are not familiar with sending messages using IoT device registry.
Reputatie 1
Badge
Hallo allemaal,

heeft iemand ervaring met het inzetten van een Raspberry Pi als AS? Het lijkt me aardig om de LoRa messages daar op te ontvangen.
Reputatie 5
Badge +5
Hi @Roberto48,

Welkom op het zakelijk forum van KPN!

Het is een heel interessant idee. Ik heb er persoonlijk geen ervaring mee. Wellicht dat andere forum leden hier meer over weten of persoonlijke ervaringen mee hebben. Mocht het zover zijn ben ik heel benieuwd naar je ervaring en stel voor dat je het met ons deelt.

Succes! 🙂
Reputatie 1
Badge
Hi Rashid,

Dank!
Ja zeker interessant. Ben geen expert op dit gebied maar door de KISS-LoRa gadget gekregen op de beurs in Utrecht ben ik gaan experimenteren. Hopelijk zijn er forum leden met RPi ervaring als AS, zou leuk zijn. Anders moet ik zelf wat gaan bedenken (maar wel als het wat minder warm is hier op zolder).
Reputatie 3
Badge +1
Een tijdje terug heb ik een poging gewaagd om tomcat (Java Applet server) op een Raspberry Pi te draaien. Dit werkte volledig. Echter kreeg ik het zo snel niet voor elkaar om ook een goede SSL certificaat te installeren. Terwijl ik dit uitzocht kreeg ik de beschikking over een server die al netjes achter een SSL certificaat hing en ben ik daar vanzelfsprekend mee verder gegaan. Ik durf alleen niet te zeggen of dit de makkelijkste manier is aangezien je dan ook Java applets moet kunnen programmeren, maar het is zeker mogelijk om een Applicatieserver te draaien op een Raspberry Pi.
Reputatie 1
Badge
Hi Jeroen,
Dank voor reply. OK, ik ga proberen om Tomcat te installeren. Op het net ook gevonden hoe je er een SSL certificaat aan moet hangen. Dus ik ben weer even van de straat (toch te heet...).
Ik laat hier wel mijn ervaringen weten. Voor mij een volledig nieuw terrein dus zal m'n kop nog wel een paar keer stoten!
Reputatie 3
Badge +1
Ik gebruik overigens nog steeds een Tomcat server, enkel niet meer op een Raspberry Pi. Dus als je vragen hebt dan hoor ik het wel 😉
Reputatie 1
Badge
Dank Jeroen! Zal zeker je hulp nog wel nodig hebben.
Tomcat draait als een speer alleen nu (ook) met de SSL aan het stoeien. Waar ik straks zeker hulp bij nodig heb is om een app draaiend te krijgen zodat de LoRa berichten netjes binnen lopen.
Maar eerst SSL oplossen.
Reputatie 7
Badge +11
Erg leuk project @Roberto48! Veel succes :D
Wat een geluk dat Jeroen ervaring heeft met Tomcat op een Raspberry Pi, hopelijk weet hij te helpen als je vast loopt. Wij volgen graag jouw ontwikkelingen.
Reputatie 1
Badge
Hi Jeroen,

Nou hier komen de eerste vragen... Nogmaals: ik ben lerende dus vergeef me eventuele 'domme' vragen ;-)
Ik had al eerder Apache2 geïnstalleerd om de RPi als webserver te laten draaien, dat werkte OK. Nu heb ik Tomcat en een SSL certificate (via OpenSSL) geïnstalleerd volgens deze site: https://thefridaynightprojectsite.wordpress.com/2015/06/22/installing-apache-tomcat-8-on-a-raspberry-pi/
Dat verliep nagenoeg probleemloos, echter....

- als ik via Firefox http://... doe krijg ik het Tomcat venster, doe ik dat met https://... dan krijg ik een SSL error: SSL_ERROR_RX_RECORD_TOO_LONG wat te maken zou hebben met een poort (443) waar niet op wordt geluisterd. Mijn vraag: zit het SSL certificate nu wel op de Webserver maar niet op Tomcat? Of hangt die na de installatie op beide....
- Als ik een bericht via de LoRa KPN portal naar mijn server zend, waar komt die dan terecht...? Moet ik daar nog een map voor aanmaken?

Zo voorlopig weer even genoeg....
Rob
Reputatie 3
Badge +1
Dat is een goede vraag, ik ben eerlijk gezegd niet helemaal thuis in de wereld van webservers en certificaten. Ik gok dat je deze link hebt gevolgd voor het installeren van het OpenSSL certificaat. Als dat zo is dan is die inderdaad geinstalleerd op de Apache server en niet op Tomcat. Tomcat luistert van zichtzelf naar een eigen poort (8080). Je zult dus op de tomcat het SSL certificaat nog moeten installeren.
Daar zul je even voor moeten zoeken op google. Dit moet zeker mogelijk zijn. Belangrijk is dat je daarbij Tomcat ook op poort 443 laat luisteren (standaard poort HTTPS) wanneer je dit installeert. Waarschijnlijk luistert tomcat op dit moment nog niet naar poort 443.
Bij mijn installatie zit er een proxy server geinstalleerd voor de server die het verkeer (van poort 443)afhandelt en vervolgens doorstuurt naar poort 80 van de tomcat.

Om berichten te ontvangen zal je een applet in java moeten schrijven. Ik wil best wat code met je delen, maar dat zal dan na volgende week maandag zijn aangezien ik op dit moment vrij druk ben.

Ik hoop dat je iets aan mijn uitleg hebt 😉
Reputatie 1
Badge
Hi Jeroen,
Dank weer voor je uitleg, ik heb er zeker wat aan. Inderdaad had ik al dat vermoeden. Ga wel even zoeken op het net.
Ik houd mij aanbevolen voor de java code, maar dat heeft geen haast. Eerst die server draaiende hebben. Overigens heb ik al met een Arduino LoRa shield contact kunnen leggen met het KPN LoRa net. Als ik een bericht upload via de Portal komt dat aan op de Arduino, niet leesbaar door de encryptie, maar toch!

Reageer