Bericht naar Mobiel via Wifi

Arduino shields
Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Bericht naar Mobiel via Wifi

Berichtdoor Nightmystic » 03 Feb 2016, 23:26

Hallo,

Ik wil graag gebruik maken van een wifi shield en eventueel een online dienst om een bericht vanuit de Arduino te laten sturen naar mijn mobiel. Liever niet via Twitter.
Een GPRS kaart gebruikt een SIM kaart en kost dus geld.
Ik kan niet echt een geschikte tutorial vinden via Google om dit te doen.
Heeft er iemand al eens zoiets gedaan? of een mooie tutorial gevonden?

Meest ideale situatie:
Er komt een bericht binnen via een gratis online sms dienst.

minder ideale situatie:
iMessage bericht komt binnen op mijn iPhone of een bericht via een app.

Minst ideale situatie, maar zeker acceptabel:
Er wordt een mail gestuurd naar mijn email adres.

Advertisement

Berichten: 109
Geregistreerd: 05 Dec 2014, 22:09

Re: Bericht naar Mobiel via Wifi

Berichtdoor Palumbus » 07 Feb 2016, 18:16

Als je internet toegang hebt met je wifi shield, kan je de gratis "Telegram Bot" gebruiken !

Telegram is een whatsapp kloon die dan niet perse een mobielnummer nodig heeft

Zie : https://www.domoticz.com/wiki/Telegram_Bot

Gerard

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: Bericht naar Mobiel via Wifi

Berichtdoor Nightmystic » 07 Feb 2016, 19:39

Thanks Palumbus!!!
Ik gebruik Telegram op de iPhone.
NICE!!! :D

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: Bericht naar Mobiel via Wifi

Berichtdoor Nightmystic » 10 Feb 2016, 14:41

Voor mij is het helaas zoeken naar een speld in een hooiberg geworden.
Deze gast heeft precies het principe zoals ik het ook wil:
https://www.youtube.com/watch?v=UrwlOUQ1JMc

Maar ik kan nergens een library, tutorial of sketch vinden, die ook werkt, waarmee ik dit kan maken.
De Telegram bot is makkelijk te maken, maar dan....
Kunnen jullie me helpen uit te zoeken hoe dit moet?


Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: Bericht naar Mobiel via Wifi

Berichtdoor Nightmystic » 12 Feb 2016, 17:27

Met deze voorbeeld code van http://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/SD-card-web-server/
heb ik een webserver draaien, zie onderstaande code.

Nu ben ik met Johnny five gaan klooien, maar daarmee moet ik alles in javascript gaan programmeren en dat gaat me niet lukken. http://johnny-five.io/

cpp code
#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>

// MAC address from Ethernet shield sticker under board
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(10, 0, 0, 20); // IP address, may need to change depending on network
EthernetServer server(80); // create a server at port 80

File webFile;

void setup()
{
Ethernet.begin(mac, ip); // initialize Ethernet device
server.begin(); // start to listen for clients
Serial.begin(9600); // for debugging

// initialize SD card
Serial.println("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("ERROR - SD card initialization failed!");
return; // init failed
}
Serial.println("SUCCESS - SD card initialized.");
// check for index.htm file
if (!SD.exists("index.htm")) {
Serial.println("ERROR - Can't find index.htm file!");
return; // can't find index file
}
Serial.println("SUCCESS - Found index.htm file.");
}

void loop()
{
EthernetClient client = server.available(); // try to get client

if (client) { // got client?
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) { // client data available to read
char c = client.read(); // read 1 byte (character) from client
// last line of client request is blank and ends with \n
// respond to client only after last line received
if (c == '\n' && currentLineIsBlank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
// send web page
webFile = SD.open("index.htm"); // open web page file
if (webFile) {
while(webFile.available()) {
client.write(webFile.read()); // send web page to client
}
webFile.close();
}
break;
}
// every line of text received from the client ends with \r\n
if (c == '\n') {
// last character on line of received text
// starting new line with next character read
currentLineIsBlank = true;
}
else if (c != '\r') {
// a text character was received from client
currentLineIsBlank = false;
}
} // end if (client.available())
} // end while (client.connected())
delay(1); // give the web browser time to receive the data
client.stop(); // close the connection
} // end if (client)
}


Volgens mij kan het met een gedeelte van deze code gerealiseerd worden:

cpp code
var request = require('request');

var token = 'your:token-here',
baseUrl = 'https://api.telegram.org/bot' + token + '/';

module.exports = function(context, cb) {
var command = context.data.message.text;
var chat = context.data.message.chat.id;

// intercept command /hello
if (command.lastIndexOf('/hello', 0) === 0) {
// response message
sendMessage(chat, 'world!');

// not required but...
cb(null, {status: 'ok'});
}
};

var sendMessage = function(chatId, message) {
request.post(
baseUrl + 'sendMessage',
{
form: {
'chat_id': chatId,
'text': message
}
}
);
};


Kan iemand hier een voorbeeld van maken wat ik kan gebruiken, waarin deze codes zo geintegreerd zijn, dat wanneer bijv een boolean veranderd van 0 naar 1 er een bericht gestuurd wordt via de telegram bot?

Berichten: 109
Geregistreerd: 05 Dec 2014, 22:09

Re: Bericht naar Mobiel via Wifi

Berichtdoor Palumbus » 14 Feb 2016, 13:19

Ik snap niet precies wat je nou wilt
Als ik je goed begrijp, wil je een bericht naar je telefoon sturen bij een gebeurtenis vanaf je arduino.
Dat is op zich goed te doen. Telegram kan je met het aanroepen van een enkele url dit laten versturen.

Een webpagina met een stukje javascript vanaf de arduino snap ik niet
Of wil je de arduino ook via een webpagina bedienen ?

Dan heb je nl telegram helemaal niet nodig

Echter, zou je de arduino volledig vanuit telegram willen bedienen, kijk dan eens hiernaar :
https://github.com/Gianbacchio/ESP8266-TelegramBot

Welliswaar voor een esp8266

G.

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: Bericht naar Mobiel via Wifi

Berichtdoor Nightmystic » 14 Feb 2016, 16:56

Als ik je goed begrijp, wil je een bericht naar je telefoon sturen bij een gebeurtenis vanaf je arduino.
Dat is op zich goed te doen. Telegram kan je met het aanroepen van een enkele url dit laten versturen.


Exact!

Hoe werkt dat? welke url?

Bedankt voor het meedenken!

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: Bericht naar Mobiel via Wifi

Berichtdoor Nightmystic » 14 Feb 2016, 17:30

Ik heb een post gevonden op Arduino.cc forum waarin aangegeven wordt dat het met een https:// url niet zou gaan:
[url]
http://forum.arduino.cc/index.php?topic=369711.0[/url]

Berichten: 109
Geregistreerd: 05 Dec 2014, 22:09

Re: Bericht naar Mobiel via Wifi

Berichtdoor Palumbus » 20 Feb 2016, 15:59

Je hebt gelijk.

Https wordt niet ondersteund door een arduino. Daar is de processor niet sterk genoeg voor.

De esp8266 heeft wel een secureclient.
Wellicht die optie eens bekijken ?

Arduino compatible, wifi ingebouwd en zo'n € 3 per stuk

Volgende

Terug naar Shields

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 3 gasten