Nodo Webapp op QNAP Nas

Zelf ben ik aan het klooien geweest om de Nodo WebApp via http://www.fam-oldenburger.nl/wordpress/2013/11/02/nodo-webapp-synology-server op de Qnap nas draaiende te krijgen, dit werkt net even anders dan de Synolgie NAS. Heb nu maar een stap voor stap handleiding gemaakt over hoe ik het gedaan heb.. Voor vragen en opmerkingen kun je contact met me opnemen of een reactie plaatsen

 

Wat heb ik gebruikt

Qnap TS T210.

  • Nodo release 3.7   De software die in Arduino word geladen
  • ARDUINO 1.0.6     De software nodig is om de Nodo realse te laden.
  • Notepadd ++   Een freeware editor voor txt/html/php en vele andere bestanden met vele handige funties en kleurtjes.
  • Filezilla cliënt Een Freeware FTP Client.
  • SVN Subversion   Programma om de Webapp bestanden de downloaden van google code.

Waar ga ik van uit?

  • Ik gebruik als werkmap c:\nodo doe jij dit anders pas dit dan ook het en der verderop aan.
  • Mijn ipadres van de NAS is 192.168.10.143 mijn hostadress van de webapp is 192.168.10.143/webapp
  • Ipadres van de Arduino 192.168.10.51
  • lokatie bestaden op de NAS ../web/webapp

Dit zijn allemaal variabelen die je zelf kunt/moet aanpassen.

De NAS.

Zorg dat de webserver geactiveerd is hier komt de Webapp, de FTP server voor toegang tot je web map. en de MySQL server waar de gegevens in bewaard worden. Installeer ook PHPMyAdmin  voor het aanmaken van de database. Hoe je dit goed krijgt valt buiten deze omschrijving hier is genoeg over te vinden op het WWW. Er zijn natuurlijk ook andere mogelijkheden om het 1 en ander in de NAS in de goeie map te krijgen, maar ik heb het zo gedaan 🙂

Waar moet je wel op letten?

Login op je nas, ga naar webserver en onderin zie je staan php.ini bewerken en selecteer wijzig. Ga op zoek naar

[Date] date.timezone = "Asia/Taipei"

En wijzig dit in

[Date] date.timezone = "Europe/Amsterdam"

en selecteer toepassen.

“In de webapp word er in gekeken aan de hand van een cookie of de NODO online is geweest de laatste 180 seconden. Met een verschillende time zone krijg je een melding dat de NODO offline is en gaat het niet werken”

De ARDUINO

Begin met het instaleren van ARDUINO 1.0.6 voor het flashen/installeren van de software op de Arduino.  Download daarna de Nodo release 3.7.  En pak deze uit in c:\nodo. Kopieer de library en installeer deze met Arduino.

Hoe doen we dat…

De versie 3.7 Nodo software

  • Download en Installer ARDUINO 1.0.6
  • Pak Nodo release 3.7  uit in de c:\nodo map
  • Kopieer vanuit C:\nodo\SWACNC-MEGA-R744 Nodo V3.7\Nodo\Library  de map nodo naar  de Librarie map van Arduino C:\Program Files (x86)\Arduino\libraries (Of in een eventuele andere map war Arduino geinstalleerd is. Afhankelijk van de gebruikte windows versie) Dit voor het installeren van de juiste netwerk library,
  • Verbind de Arduino met de PC (USB)
  • Open  de Arduino software
  • Selecteer –>Bestand  –> Openen en blader naar C:\nodo\SWACNC-MEGA-R744 Nodo V3.7\Nodo en open daar Nodo.ino  Nu moet bij tabblad Nodo§  #define SKETCH_PATH C:\..\..\..\Nodo  aan gepast worden naar #define SKETCH_PATH C:\nodo\SWACNC-MEGA-R744 Nodo V3.7\Nodo en bij
    Juiste map
    Juiste map

    #define CONFIG_FILE Config_10.c moet aangepast worden naar #define CONFIG_FILE Config_01.c   (eerste NODO)  ga dan naar Extra–> Board en selecteer daar Arduino Mega 2560 en selecteer bij Extra –> serieële poort de juiste serieële poort.   Ga dan naar Bestand–>Uploaden en de software word in de Arduino geladen. Als je naar Extra–>

    nodo 3.7 ipadres
    Nodo met versie en ipadres

    Serieële monitor gaat kun je daar zien dat de Arduino opstart en de status van het apparaat. We zetten de Arduino nu in standaard instellingen door het commando reset in te toetsen. Het apparaat start opnieuw op  en het versie nummer en het IP adres verschijnen in de serieële monitor. Deze gaan we onthouden. In mijn geval is het dus 192.168.10.51.Als je bij seriële monitor status in toetst kun je zien wat voor opdrachten er verwerkt worden.

De Webapp Software.

Download de Webapp software me SVN.

Hyperlink voor de Webapp

http://arduino-nodo.googlecode.com/svn/Webserver/NoDoWeb

Hoe doen we dat….

      • Instaleer SVN Subversion  start de opdrachtpromt in  windows.  (Open het Start-menu en ga naar Programma’s (of Alle programma’s) > Bureau-accessoires > Opdrachtprompt.)    Of doe “start” + “r” en type cmd.Je krijgt nu de dos promt.  Typ hier in cd\nodo\ en toets enter. Daarna gaan we de webapp software downloaden met het volgende commando;  svn co http://arduino-nodo.googlecode.com/svn/Webserver/NoDoWeb  Alle bestanden van de webapp worden nu gekopieerd naar de map c:\nodo\NoDoWeb.SVN Download webapp

De NODO Database

 

Maak een nieuwe database importeerd de nodo_db.txt en maak een gebruiker aan met de juiste rechten.

Hoe doen we dat…..

Om de aangepaste nodo_db2.txt te downloaden kun je HIER klikken.  (rechtermuisknop opslaa nals.) En sla hem op in C:\nodo\NoDoWeb\MYSQL Of pas hem zelf aan volgens onderstaande omschrijving

  • Om de database aan te maken hebben we PHPmyadmin nodig en het bestand nodo_db.txt wat te vinden is in de map C:\nodo\NoDoWeb\MYSQL.
  • Instaleer Notepadd ++
  • Open het bestand nodo_DB.txt. met Notepadd++
  • Verwijder nu alles tot CREATE DATABASE `nododom_webappdb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; zodat CREATE DATABASE `nododom_webappdb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; de eerste regel word.  En sla dit bestand op als nodo_db2.txt
  • Open nu op je nas de PHPmyadmin en log in. Bij mij is dit http://192.168.10.143/phpMyAdmin bij jou zal het ip-adres vast anders zijn. De standaard gebruikersnaam wachtwoord is rood |  admin wat je bij algemene instellingen kunt wijzigen.
  • Selecteer in PHPMyAdmin –>Importeren –> Bladeren –> en ga naar C:\nodo\NoDoWeb\MYSQL en open daar nodo_db2.txt  –> selecteer daarna onderin “start” er is nu een nieuwe database aangemaakt met de naam “nododom_webappdb
  •  Ga naar gebruikers , selecteer “Gebruiker toevoegen”  selecteer bij “Machinelokaal ipv “%” vul een gebruikersnaam in “nodouser”  en vul 2x een wachtwoord in “nodopass”  (natuurlijk gebruik je je eigen gebruikersnaam en wachtwoord) en selecteer start.
  •  Ga nu weer naar gebruikers en selecteer bji gebruiker “nodouserrechten wijzigen.   Selecteer dan bij databank-specifyke rechten ipv tekstveld selecteer “nododom_webappdb” en bij  “databank-specifieke rechten–> Selecteer alles..  en druk op start.

De MySQL database is klaar.

 

De Webapp verwijzingen aanpassen.

Nu moeter er nog verwijzingen aangepast worden in de bestanden van de webapp. Pas alle onjuiste verwijzingen aan.

 

Hoe doen we dat?

  • Ga naar de map C:\nodo\NoDoWeb Hier bevinden zich alle Webapp bestanden.  Open de bestanden met Notepad++  (rechtermuisknop Edit with Notepadd++) en sla het op als je klaar bent, het gaat om de volgende bestanden / wijzigingen
signup.php

Regel 150

$message.="After confirmation you can login at http://www.nodo-domotica.nl/webapp with these login data:\r\n\r\n";

moet worden

$message.="After confirmation you can login at http://$WEBAPP_HOST with these login data:\r\n\r\n";

Regel 164

$from = "webapp@nodo-domotica.nl";

vul daar je eigen mail adres in.

$from = "eigen@domein.nl";

lost_password.php

regel 71

$from = "webapp@nodo-domotica.nl";

moet worden

$from = "eigen@domein.nl";

C:\nodo\NoDoWeb\webservice\admin\json_setup_connection.php

regel 185

if ($HTTPHost == "www.nodo-domotica.nl/webapp/nodo.php" && $OutputHTTP== "On" ) { $response = "1"; } else { $response = "2"; }

moet worden

if ($HTTPHost == "$WEBAPP_HOST/nodo.php" && $OutputHTTP== "On" ) { $response = "1"; } else { $response = "2"; }

Regel 238

if ($HTTPHost == "www.nodo-domotica.nl/webapp/nodo.php" && $OutputHTTP== "On" ) {

moet worden

if ($HTTPHost == "$WEBAPP_HOST/nodo.php" && $OutputHTTP== "On" ) {

C:\nodo\NoDoWeb\include\webapp_settings.php

Nu moeten er variabelen worden aangepast. Dit is afhankelijk van je config.

Regel 21

$salt = "xxxxxxx"; //aanpassen naar gewenste salt

vul bij “xxxxxx”wilekkeurige tekens in.

Voorbeekd

$salt = "ojasdfhJKLFH2349761"; //aanpassen naar gewenste salt

 

Regel 25

$WEBAPP_HOST = "www.nodo-domotica.nl/webapp";

vul hier je eigen ip/dns/lokaal ip in.  In mijn geval gebruik ik een lokaal ip adres 192.168.10.143 en de map webapp waar we zometeen de webapp beschikbaar in maken.

$WEBAPP_HOST = "192.168.10.143/webapp";

C:\nodo\NoDoWeb\connections\db_connection.php

Nu gaan we de database parameters wijzigen. In mijn geval word dat onderstaande. Hier vul je natuurlijk je eigen gekozen gebruikersnaam en wachtwoord in.

<?php
$db_hostname = “localhost”;
$database = “nododom_webappdb”;
$db_username = “nodouser”;
$db_password = “nodopass”;
$db = mysql_pconnect($db_hostname, $db_username, $db_password) or trigger_error(mysql_error(),E_USER_ERROR);
?>

 

De webserver

Plaats nu de webapp bestanden op de NAS

 

Hoe doen we dat…..

  • In c:\nodo hernoemen we de map NoDoWeb naar webapp
  • We gaan nu met FTP/Filezilla een verbinding maken met de NAS. Vul daarvoor de FTP gegevens in en maak verbinding. (uitleg hiervan valt buiten deze tutorial)  Selecteer bij lokale site  c:\nodo en bij externe site je WEB map.  Upload nu de map webapp naar de NAS.

 

Het verbinding maken met de NODO.

Maak nu via de Webapp verbinding met de nodo.

Hoe doen we dat.

  • Browse naar http://192.168.10.143/webapp
  • Selecteer Sign up
  • Vul je gegevens in. En bevestig de bevestigingsmail. (Waar ook je nieuwe password staat)
  • Login en met je Email en je nieuwe wachtwoord
  • Ga naar Setup –> Communication Vul hier het ipadres in van je Nodo   192.168.10.143 en bij TCP poort selecteer 6636 ipv 8080 Vul bij wacthwoord een wachtwoord in voor je nodo. Zet het vinkje bij Auto Configure you default NODO En selecteer Save & Check Conection.
  • Je hebt nu verbinding met je Nodo.

Veel suc6 met de verdere config

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Los dit sommetje op tegen spam * Time limit is exhausted. Please reload CAPTCHA.

Normaal is ook maar een relatief begrip