2016-05-30 10 views
1

Erstes Poster - bitte lassen Sie mich wissen, wenn ich etwas falsch mache!Ziehen von Bluemix-Datenbankdaten in die SquareSpace-Webseite

Ich sende Sensordaten von einem Raspberry Pi über MQTT zu nodeRED läuft auf IBM Bluemix - das funktioniert gut, ich kann die Daten zu einer der Datenbanken auf NodeRED senden. Ich habe eine Website mit SquareSpace erstellt und kann Codeblöcke erstellen, in denen ich JavaScript-Code einfügen kann.

Ich bin nur auf der Suche nach einer Möglichkeit, die Daten, die ich in meinem nodeRED-Fluss habe auf meiner Website angezeigt werden. Idealerweise hoffe ich Live-Grafiken mit d3.js zu haben.

Ich habe in Cloudant untersucht, aber ich kann nicht scheinen, dass die URL-Methode zum Abfragen von Daten mit der in diesem Tutorial erläuterten Javascript-HTTP-Anfrage funktioniert: https://www.kirupa.com/html5/making_http_requests_js.htm. Ich würde lieber dashDB verwenden, da es viel mehr Spielraum für interessante Abfragen bietet, aber auch hier scheint es keinen Weg zu geben, die Daten in den Javascript-Code zu bekommen.

Dies ist die einzige Erwähnung, die ich von jemandem gefunden habe, der versucht, eine ähnliche Sache zu tun: https://answers.squarespace.com/questions/4648/how-do-i-connect-a-developer-site-to-a-database.html. Leider gibt es in NodeRED keinen "parse" -Datenbankknoten, und da alles andere, woran ich in diesem Projekt arbeite, 100x leichter wird, wenn meine Datenbank eine der Bluemix NodeRED-Datenbanken ist, glaube ich nicht, dass das für mich funktioniert .

Ich schaute in WebSockets und MQTT. Ich dachte, ich könnte vielleicht Daten aus der Datenbank in NodeRED extrahieren, sie über MQTT an die IoTF-Plattform von IBM senden und sie dann irgendwie erneut von dem JavaScript-Code in meinem SquareSpace-Codeblock anfordern, aber das scheint ein bisschen verrückt zu sein.

Ich bin an die Verwendung von SquareSpace gebunden, und wie oben erwähnt, muss man dashDB/Cloudant verwenden.

Vielen Dank für jede Beratung.

+0

Werfen Sie einen Blick auf diese Frage http://stackoverflow.com/questions/4070331/connect-to-cloudd-couchd-with-node-js?rq=1 –

+0

@data_henrik Danke, ich hatte das gesehen aber dachte es wäre schöner, die integrierte HTTP-API von Cloudant zu verwenden. Nach viel Googeln, ich denke, ich habe eine Lösung, die funktioniert: (Nach dem Hinzufügen jQuery-Code in die SquareSpace-Code-inject-Header) '$ .getJSON ('https: //**myusername**.cloudant.com/? Url ? = https: // u: [email protected]/**mydata**&format=js&callback=‘, function (data) { \t // etwas mit meinen Daten });' Obwohl Ich habe keine Ahnung, warum diese URL funktioniert. Ich habe ein wenig über URI gelesen, aber ich füge das aus den Beispielen zusammen, die die Leute gegeben haben. – majpoynton

Antwort

0

Da Cloudant über HTTP-API- und JSON-Daten verfügt, halte ich das für die beste Lösung.

Da Sie Ihr eigenes JavaScript von Ihrer SquareSpace-Site aus ausführen können, empfehle ich Ihnen, Cross-Origin Resource Sharing mit Ihrem Cloudant-Konto zu verwenden. (Cloudant CORS Dokumentation hier.)

Grundsätzlich können Besucher Ihrer Website Cloudant direkt abfragen, mit den Berechtigungen, die Sie über CORS gewähren. Cloudant ist möglicherweise nicht so flexibel für die Berichterstellung wie dashDB, aber ich denke, dass Sie mit Cloudant Query und Ansichten mit Kartenreduktion auch in der Lage sind, die benötigten Arten von Berichten oder Indizes zu erstellen.

Wenn Sie andere Fragen haben, zögern Sie nicht, Follow-ups hier zu fragen! Viel Glück!

0

Ich hatte großen Erfolg mit Firebase mit Squarespace, da es einfach zu arbeiten ist und der Echtzeitaspekt macht es ziemlich erstaunlich im Zusammenhang mit statischen Seiten oder Squarespace.

Obwohl es sich anhört, als ob Sie die Cloudant-API wie oben erwähnt verwenden könnten, könnte die Leistung ein Problem darstellen und die Bereitstellung von Echtzeitdaten von Ihren Sensoren ist möglicherweise nicht optimal. (Denken Sie daran, ich habe keine Ahnung, was Sie erreichen möchten).

Ich würde in Erwägung ziehen, Firebase mit Ihren Daten auf dem Backend zu treffen, dann Firebase Web API und d3.js auf Squarespace verwenden. Auf diese Weise sind die Charts Ihrer Squarespace-Site live und direkt mit Firebase verbunden. Wenn Sie Firebase mit Sensordaten mit minimaler Arbeit an Squarespace treffen. Ihre Diagramme würden in Echtzeit von Ihren Daten oder anderen Datenbanken aktualisiert. Ich kann in diesem Zusammenhang nicht genug über Firebase schwärmen.

+0

könnten Sie erweitern, wo Sie Informationen über die Verbindung von Squarespace und Firebase erhalten haben. Ich bin derzeit auf Platz eins, Logins und Kundenkaufhistorie zu verbinden. Jede Richtung wäre großartig, im Moment folge ich einfach ihrer Dokumentation, was in Ordnung ist, aber wenn es etwas Spezifisches für den Quadrantenbereich gäbe, wäre das fantastisch. Vielen Dank –