-
Server side and WEB frontend
06/27/2015 at 17:46 • 0 commentsUpdate Tue Jun 30 00:31:40 UTC 2015
I am working at the server side technologies, above there is my last conceptual work, some details could change between today and tomorrow but we are almost there. The technologies involved are:
- WAMP on websockets
crossbar.io at the early stage of the deployment, after will be more probable switch to something in erlang but still WAMP. It also offers tokens for the authorization before the websocket handshake
- no cookies to keep the session at the browser side
I want to implement something new, the WAMP will provides tools to track the user and his session
- REST API to push telemetry via HTTPS from the IOT sensors or robots
This will be in pure python: falcon or wheezy.web, after I will switch to something in erlang probably. The REST API front end offer a solid PUSH only new data interface and very fast. I calculated to support at least 30K requests for second.
- Postgresql
Main DB for the data of sensors, rock solid, proven and becoming very versatile these days, I still have to decide few things but I will play with NOSQL schemaless datastore at first, the data will be stored probably in JSONB. I still have to deeply verify if we can pass JSONB to the javascript in browser.
- Redis as auth. token DB store, it will keep the tokens until the ws is handshaked
This is a security extra layer, before establish the websocket handshake, the browser needs to send a token received at the first contact with the server, REDIS DB will keep temporary the tokens until they get used with the handshake.
- in browser HTML rendering of the templates
This is my challenge, it is more than one year I see new javascript framework to process HTML templates browser side, this means they are not generated server side, the server is just a data streaming backend. It should e useful to keep an impressive amount of requests on.
- Bootstrap responsive theme with HTML5 and CSS/JS
I am evaluating several admin panels based on bootstrap, at the moment the more interesting are:
Ultimo admin link
AdminLTE link
further templates could be added tomorrow.
WAMP, it's time to play..
I wanted to see how the things work, so after installing crossbar.io, I began to look at the code of the example project and read the online documentation, I changed configuration parameters and code to understand better how it works. There is not to much to see about underneath protocol and WAMP because everything is raised to an higher level of abstraction and it just works but some hacking is still good...
Now my concern is about the security I could build on top of this system so I am interested to the authorization and authentication features provided by crossbar.io
The current documentation on github explain about the CRA authentication method, it is interesting, I could write an authenticator in python able to retrieve the secret from a DB to let crossbar.io to perform the authentication BUT some clever guy on github suggest to implement WAMP-SCRAM instead because more secure.
I am exactly there...no documentation yet...reading the source code to understand how to use it...sure will be a long night again :)....see you tomorrow...cheers
-
Update - Fri Jun 26 21:15:23 UTC 2015
06/26/2015 at 21:21 • 0 commentsWorking on the WEB API, tomorrow I will publish a schematic about the web platform, some technologies I am putting in the boilerplate are:
- browser side rendering of the HTML template
- secured websockets data stream to the browser
- postgresql server side DB
- mobile first CSS + javascript libraries Bootstrap based
- c++ language websockets server or uwsgi (still deciding..)
...have a nice evening, Thank you
Fabio
-
A separated programmer - Thu Jun 25 22:20:20 UTC 2015
06/25/2015 at 22:32 • 0 commentsI want to propose you the idea of a separate programmer for the Freescale CPU, I designed the above block following the schematic of Teensy 3.1 at the pjrc.com website. I divided the Teensy 3.1 in 2 blocks, programmer and CPU.
Possible benefits:
- To reduce the costs in case you want to have multiple IOTsatcom, you just need one programmer for all of them, in this case IOTsatcom will keep just the Freescale CPU onboard.
- Simplification of the IOTsatcom PCB, an easier board to be more reliable and solid dropping the USB interface and programmer on each board.
Let me know if this idea could be interesting for you and you think this is a necessary feature for the project.
Thank you.
-
Update - Wed Jun 24 19:47:07 UTC 2015
06/24/2015 at 19:47 • 0 comments- Better pagination of all texts
-
Update - Tue Jun 23 10:00:40 UTC 2015
06/23/2015 at 10:06 • 0 comments- Cleaner "Addressing a world problem ..the CLIMATE CHANGE"
-
Update - Mon Jun 22 20:42:57 UTC 2015
06/22/2015 at 20:45 • 0 comments- Features list is cleaner now.
- Duplicate notes and text removed.
-
Update - Sun Jun 21 21:56:16 UTC 2015
06/21/2015 at 21:59 • 0 comments- Better paragraph "IOTsatcom helps the study of the climate change"
-
Update - Sun Jun 21 19:04:12 UTC 2015
06/21/2015 at 19:05 • 0 comments- Improved the description about the Rockblock satellite modem
-
Update - Sun Jun 21 15:27:06 UTC 2015
06/21/2015 at 15:29 • 0 comments- better article about why IOTsatcom helps the scientific research
-
Update - Sat Jun 20 00:42:27 UTC 2015
06/20/2015 at 00:43 • 0 comments- Added a paragraph about the energy saving strategies
- TODO list updated