חיישן לחות אדמה האינטרנט של הדברים הפרטי – חלק 2

חיישן לחות – IOT – האינטרנט של הדברים הפרטי  – חלק 2.

בניית חיישן לחות שדוגם את הלחות בקרקע הגינה ומשדר כל מספר שעות לבקר מרכזי שאחראי על הפעלת ההשקייה.

הבקר המרכזי יהיה רספברי פיי עם DOMOTICZ והחיישן יהיה ESP8266 עם קושחה של ESP EASY וחיישן לחות קרקע פשוט שמחובר אליו.

הבקר יהיה מופעל מסוללות לכן יש צורך בהגדרות מסויימות על מנת לשמר את חיי הסוללה ככל שניתן ונושא זה יורחב בפוסטים הבאים.

את החיישן נחבר לESP כך:

nodmcu

נלך ל ESP שהגדרנו בפוסט הקודם לטאב של DEVICES ושם נלחץ EDIT ונבחר את החיישן שלנו – Analog :

moisture

עכשיו נעבור לDOMOTICZ ושם נלך לHARDWARE וניצור DUMMY HARDWARE חדש:

domoticz1

נלך ל CREATE VIRTUAL SENSORS ונגדיר:

Untitled

לאחר מכן החיישן יופיע ברשימה:

soilhum

כעת החיישן דוגם את הלחות בקרקע ומשדר אותו כל מספר שניות לבקר המרכזי.

20160828_105446 20160828_105529 20160828_105547 20160828_105554

"האינטרנט של הדברים" הפרטי חלק 1

"האינטרנט של הדברים" הפרטי .

זהו פוסט ראשון בסדרה שתעסוק ביצירת חיישנים ומתגים המחוברים כולם לרשת פרטית שלכם.

בסדרת הפוסטים הזאת אראה כיצד להכין חיישנים אלחוטיים במחיר נמוך ולחבר אותם לעולם של ה"אינטרנט של הדברים" הפרטי שלכם.

הנתונים מהחיישנים יזרמו כולם ל"ענן" פרטי עם שליטה מוחלטת בו. בנוסף אראה כיצד להשתמש בכלים יעודיים כדי לנהל ולנתח את הנתונים מהחיישנים.

כמובן הכל בסגנון "עשה זאת בעצמך" ועל טהרת הקוד הפתוח, בנוסף נדע כיצד לאסוף את המידע מכל הדברים, לאחסן אותו ונראה מה ניתן לעשות עם המידע הזה וכיצד ניתן לבצע פעולות על סמך המידע.
בנוסף נראה כיצד "להחכים" את המערכת בכך שנחבר תסריטים כמענה לתרחישים שונים על מנת לבצע אוטומציה של פעולות שונות – "בית חכם"(לדוגמה יש מישהו בחדר וחיישן האור מזהה רמת אור נמוכה – אז המערכת תדע להדליק את האור!)

המבנה הכללי של מערכת :

  1. יחידת הקצה/החיישן : מיקרו בקר כלשהו – במקרה שלנו זה יהיה ארדואינו עם משדר רדיו או ESP8266 שמחובר ב- WIFI לרשת הביתית – אליו מחוברים חיישנים או מתגים שונים.
  2. במקרים בהם יהיה שימוש בתקשורת רדיו (לא WIFI) המערכת תכלול גם gateway שיקשר בין הרשת של יחידות הקצה לרשת הביתית/אינטרנט.
  3. בקר ראשי – Controller – מרכז את המידע מכל החיישנים וממנו מתבצעת השליטה והבקרה, שולח ומקבל פרמטרים לחיישנים ברשת, עוקב אחר הנתונים העדכניים ביותר שמדווחים על ידי חיישנים וגם בדרך כלל מספק ממשק משתמש לשליטה על כל הרשת ומריץ לוחות זמנים מוגדרים מראש או תסריטים.

כפרוייקט ראשון אראה כיצד יצרתי מערכת השקייה לגינה ביתית יחד עם מספר חיישנים המפוזרים בגינה שמעבירים לבקר הראשי את הנתונים שעל פיהם הוא מעריך האם להפעיל את מערכת ההשקייה.

נתחיל עם הבקר הראשי (מספר 3 במבנה הכללי)- הוא ישמש אותנו בכל הפרוייקטים ואליו יתחברו כל החיישנים. ישנם מספר תוכנות בקר ראשי נפוצות שיושבות על על מספר אפשרויות חומרה, כאן נעשה שמוש ב Domoticz שזו מערכת ניהול בית חכם המאפשרת שליטה ובקרה על חיישנים ומתגים שונים. החומרה שמצאתי הכי מתאימה לדעתי להרצת Domoticz זה Raspberry Pi. יש מבחר של לוחות פיי:

pis

ו-Domoticz יכול לרוץ בצורה חלקה אפילו על Raspberry pi B הגירסה הישנה עם 512MB זכרון RAM ,וזה הלוח שאני מריץ עליו(אחד משני הלוחות התחתונים בתמונה).

התקנת Domoticz

מצרכים:

  1.  לוח רספברי פיי.(בארץ ניתן לרכוש פה ופה.)
  2.  כבל רשת.
  3.  כרטיס SD עם לפחות 8GB Class 10.
  4. ספק כוח מיקרו USB שנותן 2A.(כל ספק מקורי של סמרטפון סביר).

התקנה:

  1. מורידים אימג' מכאן(זה בעצם מערכת הפעלה שלמה של Raspbian הכוללת כבר את Domoticz)
  2. לאחר ההורדה מחלצים את הקובץ , מפרמטים את כרטיס הSD עם FAT32 ומתקינים את האימג' בעזרת התוכנית – win32diskimager.
  3. מחברים את הרספברי לראוטר עם כבל הרשת ולמטען ואחרי ההדלקה נחכה כ 2 דקות ונלך לממשק הניהול בראוטר הביתי ע"מ לראות באיזה כתובת IP הרספברי נמצא.
  4. נתחבר ל http://raspberryIP:8080 ונקבל את ממשק הניהול:

domoticz

זהו – יצרנו את הבקר הראשי.

יחידת קצה WIFI שנבנה תהיה ללא צורך בGATEWAY (במובן מסויים הראוטר הבייתי הוא בעצם GATEWAY).

לצורך פשטות נשתמש בלוח NODEMCU אותו ניתן לרכוש לדוגמה כאן.

esp8266

שוב לצורך פשטות נוריד ל NODEMCU קושחה(firmware) בשם ESP EASY.

נחלץ את הקבצים ונפעיל את הסקריפט הבא:

flash.cmd

Screenshot 2016-08-28 15.34.30

יש לבחור בפורט המתאים,בנפח האחסון במודול ובגירסת הקושחה.

לאחר מכן יופיע ראוטר חדש ברשימת נקודות ה WIFI הזמינות : esp_0 יש להתחבר אליו ולפתוח דפדפן שאוטומטית יוביל אותנו לדף הגדרות שם נזין SSID וסיסמה של הראוטר הביתי.

מדריך מפורט יותר כאן.

דף ההגדרות יכיל את הפרטים של הNODE החדש שלנו ונמלא גם את פרטי הבקר הראשי אליו ישלחו הנתונים (IP ופורט של DOMOTICZ):

Screenshot 2016-08-28 14.31.37

בפוסט הבא אראה כיצד לחבר חיישן לחות קרקע לESP שישדר אל הבקר הראשי את מדדי הלחות.

 

GPS – מיקום של דברים בזמן אמת

מודול עקיבה בזמן אמת עבור חפצים/אנשים/בעלי חיים/מכוניות.

הפרויקט שמוצג כאן הוא לצורך "בדיקת היתכנות" של מודול עקיבה GPS באמצעות שרת WEB. כל מה שמוצג כאן הוא על אחריות המשתמש ואין לאתר או למחבר הפוסט שום אחריות למוצג כאן כולל לכל נזק שייגרם. המשך הקריאה על אחריותכם בלבד!
כמו כן במדריך זה אין כל התייחסות לנושא אבטחת מידע וסייבר. הוא לצורך "בדיקת היתכנות" בלבד (POC) קבצי השרת פגיעים וכל מי שירצה יהיה לו גישה אליהם.כמו כן התקשורת בין החבילה לשרת ובין הלקוח לשרת לא מוצפנת וזמינה לכל. בחלק הבא תהיה התייחסות גם לנושא זה.

1.היחידה אחריה נעקוב (להלן החבילה) תהיה מורכבת מ:

  • בקר (ארדואינו)
  • מודול GPS ע"מ לדעת מיקום (SIM808)
  • מודול GSM לצורך התקשרות עם שרת WEB ע"מ לדווח לו את המיקום.(SIM808)

2.היישום בענן/שרת אינטרנט יהיה מורכב מקובץ PHP שאליו החבילה תדווח על מיקומה ,המיקום ישמר ולקוח שירצה מידע על מיקום החבילה יקבל זאת בצורת JSON.

3.הלקוח זה דף HTML עם מפות של גוגל שמתעדכן כל כמה שניות ע"י JSON עם פרטי מיקום החבילה אותו הוא מבקש מהשרת/ענן.

gps-tracker

בציור:

שלב 1 – החבילה מזהה מיקום באמצעות GPS.

שלב 2 – החבילה מדווחת מיקום לשרת.

שלב 3 – לקוח מבקש מידע על המיקום של החבילה מהשרת , מקבל אותו ומציג אותו ע"ג מפה.

רכיבים:

  1. מגן SIM808
  2. ארדואינו אונו
  3. כבל לארדואינו
  4. סוללה להטענת טלפון נייד(אופציונאלי).

shield

sim808-arduino

בנוסף יש צורך בשרת שיכול להריץ PHP ושזמין מהאינטרנט (לא יכוסה במדריך זה).

נחבר את המגן לארדואינו ונחבר את הארדואינו למחשב עם הכבל – בצורה כזאת גם ה SIM808 מקבל מתח.

הקוד:

/**
 *
 * GPS Adapted From Adafruit_FONA lib:
 * Copyright: 2015 Adafruit
 * Author: Todd Treece
 * Licence: MIT
 * Adapted by https://iot.org.il
 **/
 
#include "Adafruit_FONA.h" //lib for the sim808 shield
#include <string.h>
#include <SoftwareSerial.h> //for communicating with sim808

#define FONA_RX 8
#define FONA_TX 7
#define FONA_RST 4

SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX);
SoftwareSerial *fonaSerial = &fonaSS;

Adafruit_FONA fona = Adafruit_FONA(FONA_RST);

int Powerkey = 9;//pin for powering the SIM808
boolean gprson = false;
boolean gpson = false;
void power(void)
{
 //digitalWrite(Powerkey, LOW); 
 //delay(1000); // wait for 1 second
 digitalWrite(Powerkey, HIGH);
}
void flushSerial() {
 while (Serial.available())
 Serial.read();
}
void setup() {
 
 pinMode(Powerkey, OUTPUT); // initialize the digital pin as an output. 
 power(); //power on the sim808 or power down the sim808
 while (! Serial);
 Serial.begin(115200);
 Serial.println(F("Initializing sim808... (May take a few seconds)"));

 fonaSerial->begin(4800);
 if (! fona.begin(*fonaSerial)) {
 Serial.println(F("Couldn't find sim808"));
 while(1);
 }
 Serial.println(F("sim808 is OK")); 
 while(!gpson){
 delay(1000);
 Serial.println(F("Enabling GPS..."));
 if (!fona.enableGPS(true))
 Serial.println(F("GPS OK..."));
 gpson = true;
 }
 while(!gpson){
 delay(1000);
 fona.enableGPRS(false);
 Serial.println(F("Enabling GPRS"));
 if (!fona.enableGPRS(true))
 Serial.println(F("Failed to turn GPRS on"));
 else
 gprson = true;
 }
}

void loop() {
 delay(4000);
 if(!gprson){
 fona.enableGPRS(false);
 Serial.println(F("Enabling GPRS"));
 if (!fona.enableGPRS(true))
 Serial.println(F("Failed to turn GPRS on"));
 else
 gprson = true;
 }
 float latitude, longitude;
 boolean gps_success = fona.getGPS(&latitude, &longitude);
 if (gps_success)
 {
 Serial.print("GPS lat:");
 Serial.println(latitude, 6);
 Serial.print("GPS long:");
 Serial.println(longitude, 6);
 uint16_t statuscode;
 int16_t length;
 char url[100]="http://ivardi.com/gps/report.php?latitude=";
 char lati[10];
 dtostrf(latitude,1,6,lati);
 Serial.println(lati);
 char longi[10];
 dtostrf(longitude,1,6,longi);
 strcat(url, lati);
 strcat(url, "&");
 strcat(url, "longitude=");
 strcat(url, longi);
 flushSerial();
 Serial.println(url);
 if (!fona.HTTP_GET_start(url,&statuscode, (uint16_t *)&length))
 {
 Serial.println("Failed!");
 }
 while (length > 0) 
 {
 while (fona.available()) 
 {
 char c = fona.read();
 #if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__)
 loop_until_bit_is_set(UCSR0A, UDRE0); // Wait until data register empty. 
 UDR0 = c;
 #else
 Serial.write(c);
 #endif
 length--;
 if (! length) {};
 }
 }
 fona.HTTP_POST_end();
 } 
 else 
 {
 Serial.println("Waiting for GPS fix...");
 }
 }

רכיב ה SIM808 מתקשר עם הארדואינו בממשק סיריאלי – UART – וע"י פקודות AT. היצרן של הרכיב מספק קובץ מפורט איזה פקודות AT מפעילות את האופציות השונות , לדוגמה פקודות לשליחת SMS , להוצאת שיחה וכו'.

אנו נעשה שימוש בסיפריה Adafruit_FONA שמפשטת וחושפת פונקציות פשוטות ופקודות הAT נעשות כבר בתוך הסיפרייה.

כמו כן נעשה שימוש בסיפריה – SoftwareSerial על מנת שנוכל לדבג את התוכנית בערוץ UART החומרתי.

בנוסף בסיפריה ישנו קובץ בשם Adafruit_fona.cpp שם נצטרך לשנות את שם הAPN לאחד שיתאים למפעיל הסלולארי שעם הסים שלו אנו משתמשים.

וכמובן בקוד עצמו יש לשנות את שם השרת אליו נדווח מ yourserver.com לשם של השרת שלכם.

החבילה מבצעת

"GET" request

לשרת עם הפרמטרים של – latitude ו longitude , הקובץ בשרת בשם report.php מקבל את הבקשה ויוצר קובץ JSON עם הערכים הללו.
דף HTML עם מפה של גוגל מוטמעת בו פונה בAJAX כל כמה שניות לשרת בבקשה לספק לו את קובץ ה JSON שהשרת יצר,ואחרי שהוא מקבל את הקובץ הוא מציג את המיקום על גבי המפה שלצורך זה יש לקבל מגוגל KEY ולהוסיף אותו בקובץ tracker.html בשורה 15:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&key=getYourownKey"></script>

tracker-map
כל הקבצים שבפרוייקט מצורפים:

gps

מודול wifi ESP8266

iot-esp

ESP8266 הוא שבב שצץ בחודשים האחרונים באתרי מכירות סיניים.  השבב כבר מיישם בתוכו WiFi, פרוטוקול TCP / IP, וכל חלקים הנדרשים כדי לקבל מיקרו בקר שזמין לאינטרנט והכל בתוך מודול זעיר ובמחיר ללא מתחרים כרגע – פחות מ 5 $. זה שבב מעניין, עד עכשיו הוא שימש כמודול קישוריות סיריאלי למיקרו בקר דוגמת הארדואינו אך לאחרונה פורסם למודול הזה גם SDK כך שניתן לתכנת אותו (יש למודול הזה כמה GPIO פנויים) וזה הופך את ESP8266 למשהו הרבה יותר טוב מאשר UART WiFi עכשיו זה ממש פתרון מוחלט לאינטרנט של הדברים.

המודול הזה עושה את דרכו כרגע מסין (כבר יותר מחודש וחצי !!!) וכאשר יגיע אפרסם פה את תוצאות המשחקים איתו.

מודול המוח

בפוסטים קודמים הצגתי שימושים שניתן לעשות עם מיני ראוטר tlwr703n  ועליו גרסה של לינוקס.

המחיר של המוצר הזה היום ברשת הוא באזור 22-25 דולר וכולל חיבור לרשת חוטית וUSB בנוסף ליכולת WIFI.

עדיין המחיר וגודל המוצר לא נותנים לו להיות פתרון מושלם לאינטרנט של הדברים כשיש צורך במודול שיחובר לרשת אלחוטית ובעל יכולות קצת יותר מסתם מיקרו בקר.

בחיפוש אחר מודול מתאים מצאתי אחד שעם כמה שנויים בכמות ה RAM והגדלת זיכרון ה FLASH מהווה פתרון מעולה – קראתי לו מודול המוח:

brain module

 

כמה נתונים טכניים:

IMAG2328

מעבד: RT5350@360MHz

זיכרון RAM:16MB

FLASH: 4MB

כאמור אחרי שדרוג שבב הזיכרון והאחסון ניתן להעתיק אליו OPENWRT .

המודול יכול בעצם לעשות כל מה שעשה ה- tlwr703n ושפרטתי בפוסטים הקודמים.

בנוסף זה יהיה המודול המקשר לאינטרנט של העלים בפרויקט הבית החכם בפוסטים הראשונים.

מספר פרויקטים המבוססים על המודול הזה בהתהוות:

חיישן זיהום/גז עם קישוריות לאינטרנט:

IMAG2782

'מוח' לפלטפורמה של רובוט עם מצלמת רשת :

IMAG2783

 

מערכת השקיה חכמה עם קישוריות לאינטרנט, מקרר חכם והאפשרויות הן ללא סוף.

פירוט על המודול והפרויקטים המבוססים עליו יהיו בפוסטים הבאים.

מערכת השקייה וגינון חכמה

בפוסט זה והבאים אחריו אפרט איך גם הגינה והטיפול בא יהיו חלק מהאינטרנט של הדברים.

כבר קיימים כמה פרוייקטים של גינון חכם ברשת , להלן כמה:

gardenbot

OpenSprinkler

בשלב ראשון הייתי צריך לפשטות והוזלה לחפש ברז חשמלי (סלנואיד) שפועל ב DC ומקבל עד 12v. מצאתי מגופים כאלו בפחות מ10$ למגוף:

IMAG2178

 

וכמובן כדי שהמערכת תהיה חכמה יש צורך בחיישנים של לחות קרקע,טמפרטורה,לחות באויר,אור,גשם,רוח וכו'.

שלב ראשון – בדיקה האם המגופים עובדים ובעלי ספיקה טובה להרמת ממטרות עבר בהצלחה:

IMAG2183

 

IMAG2186

בפוסטים הבאים ארחיב על מודול שיחובר לארדואינו ויוכל לשלוט על עד 6 מגופים…

TL-WR703N OpenWrt שידור סטרים ממצלמת רשת

בפוסט הזה כהמשך לפוסטים קודמים בסידרה ארחיב כיצד לשדר סטרים ממצלמת רשת שמחוברת לראוטר ולצפות בכל דפדפן.

רכיבים:

  • מצלמת רשת (עדיף מצלמה איכותית ולא אחת זולה ללא שם) על מנת לחוס על המעבד של הראוטר רצוי מצלמה שתומכת ב MJPEG בקישור הזה יש רשימה של כל המצלמות הנפוצות והאם הם תומכות ב MJPEG ומה הרזולוציה הרצויה.
  • ראוטר TL-WR703N עם החבילה המותאמת של OpenWrt.

אני השתמשתי ב 2 מצלמות בהצלחה : Logitech c270 ו Logitech c170.

c270

 

יש לחבר את המצלמה לראוטר , לפתוח את  putty כמו בפוסט הקודם להכנס עם שם משתמש וסיסמה ובשורת הפקודה להזין:

 mjpg_streamer -i "input_uvc.so -f 10 -d /dev/video0 -n" -o "output_http.so"

יש לוודא שהמצלמה שלכם מוגדרת כ video0 אחרת יש לשנות בהתאם. את כתובת המצלמה בודקים כך:

cd /dev
ls

 

webcam1

 

לאחר מכן נפתח דפדפן ונפנה אותו לכתובת המתאימה במקרה שלי זה:

http://192.168.1.94:8080/?action=snapshot
http://192.168.1.94:8080/?action=stream

כמובן שאת הסטרים יש לשים בתג IMG של מסמך HTML כלשהו ע"מ לצפות בו כמו כאן:

<html>
<body>
<img src="http://192.168.1.94:8080/?action=stream" />
</body>
</html>

מה שנקבל זה מצלמת IP לכל דבר.

TL-WR703N OpenWrt Arduino

tl-wr703n_arduino

בפוסט הזה ארחיב כיצד לתקשר עם ארדואינו ב WIFI באמצעות ה TL-WR703N .

רכיבים:

  • ארדואינו כלשהו עם מתאם USB כלשהו (זה יכול להיות UNO R3 או פרו מיני עם מתאם מבוסס ftdi או cp2102 או pl2303 וכו') כל ה USB TO TTL  הנפוצים נתמכים.
  • ראוטר TL-WR703N .

קוד מאוד פשוט לצורך בדיקת תקשורת אותו יש להעביר לארדואינו :

void setup() { 
Serial.begin(9600); // set up Serial library at 9600 bps 
}

// the loop routine runs over and over again forever:
void loop() {

 String content = "";
 char character;

 while(Serial.available()) {
 character = Serial.read();
 content.concat(character);
 delay (10);
 }
if (content == "miki") {
 Serial.print(content);
 { 
 }
 

 

הקוד פשוט קורא מהפורט הסיריאלי ובמידה והמחרוזת היא  "miki"  הוא מדפיס את הקלט לפורט הסיריאלי כך שהקוד יאפשר לנו לבדוק קישוריות דו כיוונית.

אני אחבר ארדואינו אונו R3 לראוטר.

יש להוריד להתקין Putty   בשדה הכתובת לשים את כתובת הIP של הראוטר:

putty

 

לאחר שנקבל מסך טרמינל בשם המשתמש נקיש root ואת הסיסמה שהגדרנו:

putty2+

לפני שחיברנו את הארדואינו לראוטר דרך USB נריץ את הפקודות הבאות  (נעבור לתיקיית dev):

cd /dev

רשימה של כל קבצי המודולים המחוברים למכונת לינוקס :

ls

(רשימה של כל קבצי המודולים המחוברים למכונת לינוקס )

תפתח בפנינו רשימה ונשים לב שאותה פקודת ls אחרי הכנסת הארדואינו תתן רשימה עם מודול אחד נוסף וכך נוכל לדעת את המבואה הסריאלית אליה אנו אמורים להאזין ולשלוח פקודות ע"מ לדבר עם הארדואינו:

putty3

נריץ את הפקודה הבאה (יש בעיה של auto reset עם הארדואינו, יש הרבה חומר על הנושא בפורומים שונים זה הסיכום שהגעתי מנבירה בפורומים וחקירה למידע נוסף):

stty -F /dev/ttyACM0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts -hupcl

לאחר מכן נריץ את הפקודה (תאזין על פורט ttyACM0 ושזה יהיה ברקע – "&") :

cat /dev/ttyACM0 &

ולאחריה (כתוב לפורט הנ"ל את הקלט "miki" ותתעלם מתו שורה חדשה):

echo -n "miki" > /dev/ttyACM0

נראה שכל פעם שנכתוב את פקודת ה "echo" נקבל את הפלט "miki" כל קלט אחר לא יודפס:

putty5

זהו אנחנו יכולים לדבר עם ארדואינו בצורה טורית ניתן ליעל את התהליך עם שפה שכבר מותקנת בראוטר ששמה – Lua כך שיהיה אפשר לגשת לכתובת בדפדפן ולהעביר מסרים לארדואינו (תדליק לד) או לקבל מסרים מהארדואינו (מה הטמפרטורה בחדר) הרחבה על כך בפוסטים הבאים.

TL-WR703N OpenWrt

TL-WR703N

בפוסטים קודמים הוצג פתרון לקישור אלחוטי של כמה בקרים בצורה זולה כחלק ממימוש האינטרנט של הדברים.

ישנו צורך במודול שישמש שער לאינטרנט עבור כל אותם מודולים.

אחד המוצרים השימושיים ביותר עבור הנגשה של WIFI ורשת קווית לבקרים דוגמת הארדואינו זה TL-WR703N שזה בעצם ראוטר קטן בגודל של כרטיס אשראי הכולל כניסת USB ששם אמורים לתקוע מתאם סלולארי ולהפוך בעצם את המודם לנייד. להלן המאפיינים:

Atheros AR7240 CPU (400Mhz)
Atheros AR9331 Chipset (integrated wireless)
802.11 b/g/n 150Mbps (130Mbps real)
wireless power output 20dBm – 100mW
4 MB flash memory
32 MB RAM
USB 2.0 port (High-Speed only, use an external High-Speed hub for Full/Low-Speed devices)
Powered via micro-USB socket
5.7cm x 5.7cm x 1.8cm

 TL-WR703N TL-WR703N

עם כל הנתונים הללו פשוט מתבקש להתקין על המודול הזה OpenWrt , בגדול OpenWrt זוהי הפצת לינוקס מאוד רזה שמיועדת בעיקר לראוטרים. התקנת המערכת הזאת עם המודולים המתאימים מאפשרת תקשורת סיריאלית עם כל הבקרים הנפוצים היום , שידור של מצלמת ווב רגילה , שרת אחסון קבצים , עיבוד תמונה בסיסי ועוד.

במדריך זה אראה איך אני התקנתי OpenWrt וקינפגתי את הראוטר כ WIFI client .

במדריכים העוקבים אראה כיצד "לדבר" עם ארדואינו ולשדר ממצלמת ווב שידור חי…

מצרכים:

  1. כבל רשת .
  2. ראוטר TL-WR703N כ – 20-25$ באתרים הסינים הרגילים.

ישנו אתר נחמד המציע להורדה חבילה של OpenWrt המתאימה לצ'יפ של הראוטר וכוללת את כל החבילות תוכנה שצריך ע"מ לעשות את מה שמניתי (שידור ממצלמה דיבור עם ארדואינו וכו')  להורדת החבילה.

לאחר ההורדה יש לפתוח את הכיווץ לתוך תיקיה מתאימה.

יש לחבר את הראוטר לחשמל ולכבל רשת שמחובר למחשב ולגשת לכתובת http://192.168.1.1 .

הראוטר הנ"ל מיועד לשוק הסיני וכל ה UI שלו הוא סיני ולכן אצרף פה תמונות ע"מ להמשיך את ההסבר.

נתחבר כדי לגשת לממשק האינטרנט, ברירת המחדל – משתמש:admin  הסיסמה היא: admin.

יש ללחוץ על "系统工具" (כלי מערכת):

chin1

 

לאחר מכן יש ללחוץ על "软件升级" (עדכון קושחה) :

chin2

ולבחור את הקובץ שחילצנו מהתיקיה המתאימה:

chin3

יש ללחוץ על הכפתור "浏览…" שזה BROWSE… לאחר מכן יש ללחוץ על "升 级" (שידרוג) ולאשר:

chin4

ניתן לתוכנה להטען…………….

הנתב צריך אתחול מחדש לתוך OpenWRT, ויש לבצע כניסה לממשק החדש ללא סיסמא (כרגע לא הגדרנו סיסמא).
נעבור להגדרת סיסמא:

openwrt1

זהו התקנו OpenWRT ! עכשיו צריך לשדרג את המערכת שתכלול את כל ההפתעות שיש בחבילה שהוכנה מראש.

שדרוג OpenWRT
שדרוג שכבר קיימת מערכת OpenWRT זה פשוט יותר יחסית.

כניסה רגילה כדי לגשת לממשק האינטרנט ( ששמו Luci)
בחירה בטאב "system"
לאחר מכן בחר "Backup / Flash Firmware"

Upgrade

נלחץ על "Choose File"  ונבחר את הקובץ "openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin" מהחבילה שפרסנו ונלחץ "Flash image".

זהו המערכת מוכנה.

קינפוג הראוטר כ WIFI client

כדי שנוכל לגשת לראוטר ולכל הדברים שהוא מציע אלחוטית ללא כבל רשת ,על הראוטר לשמש כ CLIENT ולהתחבר לראוטר הביתי שנו ע"מ לקבל כתובת רשת ושנוכל לגשת אליו ושגם לו תהיה גישה לרשת.

הגדרת הנתב יש לבחור בכרטיסייה "network" בחלק העליון , ולאחר מכן בחר באפשרות " Wifi " וללחוץ על "scan":

wifi1

נמצא את הראוטר שלנו ונלחץ על "Join Network":

wifi2

נזין את הסיסמה של WPA (בהנחה שיש WPA/WPA2 ) , ותחת " Create / Assign firewall-zone " – בחר " LAN" לאחר מכן לחץ על "Submit":
wifi3

יש ללחוץ לאחר מכן על "Save & Apply" ונמתין עד שההגדרות יתפסו:

wifi5

תחת הלשונית " network" בחלק העליון , נבחר " interfaces"  שימו לב לכתובת ה-IP של החיבור שכרגע יצרנו .

wifi6

דבר אחרון חשוב שגרם לי להרבה כאב ראש – כאשר הראוטר מחובר קווית הוא מקבל כתובת מטווח כתובות IP מסויים. במקרה שלנו 192.168.1.1. ולכן כל עוד הייתי מחובר אליו לא יכולתי לגשת לאינטרנט במחשב.

הרבה ראוטרים בייתים טווח הכתובות שלהם הוא *.192.168.1 שהראוטר עצמו הוא 192.168.1.1.

חשוב להגדיר את את הכתובת של ה – TL-WR703N כאשר הוא בחיבור קווי כחלק מטווח כתובות שונה מהטווח של הראוטר הבייתי שגם נתן כתובת לחיבור החדש שיצרנו ע"מ לחבר את ה TL-WR703N אלחוטית כ CLIENT לראוטר הביתי.

אני שיניתי ידנית את הכתובת של ה TL-WR703N כאשר הוא מחובר קווית מ 192.168.1.1 ל 192.168.0.1 והכתובת שלו כאשר הוא מחובר אלחוטית לראוטר הביתי נשארה 192.168.1.124.

זהו נכון לעכשיו הראוטר מוכן ומחובר אלחוטית לראוטר הביתי.

בפוסטים הבאים אראה איך ל"דבר" עם ארדואינו ולשדר ממצלמת ווב רגילה.

המדריך הזה נכתב בעיקר ע"פ האתר הזה :

madox.net

electric imp

לאחרונה קיבלתי מחבר ערכה של  – electric imp להלן – השדון.

הערכה כללה את המודול עצמו ה – imp ולוח מתאים (breakout).

החלק הכי בעייתי שחוויתי ע"מ להתחיל להשתמש בשדון זה ה – BlinkUp . אפרט את כל התהליך ואסביר:

ראשית יש ליצור חשבון בענן .

BlinkUp TM  –  הטכנולוגיה שתשמש להעביר את כל פרטי ההתקשרות בWIFI לשדון ע"מ לחברו לרשת.

יש להוריד אפליקציה לסמרטפון ,שם יש להזין את פרטי חשבון, SSID של הרשת, והססמה של ה- WIFI ולשלוח אותם לשדון באמצעות הבהובי מסך.

חיפוש בסטור של גוגל או אפל עם המילים electric imp ימצא בקלות את האפליקציה.

יש לפתוח את היישום הנייד, ולהזין את שם המשתמש + הססמה (אם משתמשים באפליקציה לאנדרואיד, יש להיכנס באמצעות כתובת דוא"ל + ססמה) לשדון.

כשמחוברים לאפליקציה, בחרו את הרשת האלחוטית שדרכה נרצה להתחבר לאינטרנט.

יש להזין את הססמה של ה-WiFi . אם אתם מתחברים לרשת לא מאובטחת, פשוט השארו את השדה ריק.

חברו את הקצה הקטן של כבל USB Mini לשקע ה-USB במתאם, ואת הקצה השני ליציאת USB במחשב.

יש למקם ג'מפר כך שהמכשיר יקבל מתח דרך USB ולא דרך בטרייה:

IMAG2234

הכנסו את כרטיס השדון לחריץ SD . אם הכל כשורה, ה-LED בתוך השדון צריך להתחיל להבהב בכתום.

אם אתם משתמשים באפליקציה לאנדרואיד, יכול להיות שיש לבחור מצב Legacy לתוצאות הטובות ביותר.

לחץ BlinkUp באפליקציה הסלולרית, ולאחר מכן החזק את המסך של הטלפון כנגד הקצה של השדון. לקבלת התוצאות הטובות ביותר, מומלץ לבצע את הפעולות הבאות:

  • החזק את המסך של הטלפון קרוב ככל האפשר לחיישן האופטי (כמעט נוגע במידת האפשר)
  • האגודל שלך מכסה את החלק החשוף, חלקו העליון של שדון (היכן שכתוב – "developer edition").
  • נסה לחסום את כל האורות הבוהקים / או עשה את התהליך במקום חשוך.

אם הכל הלך כשורה השדון  אמור להבהב בירוק, שזה מצביע על כך שהוא מחובר לאינטרנט.

אני ניסיתי את התהליך עם מכשיר HTC ONE S הכולל מגן מסך וזה לא הצליח , ניסיון נוסף עם אייפון 4 ללא מגן מסך צלח.

לאחר מכן בחשבון שיצרתם בענן יש אפשרות לפתוח פרויקט חדש ולהתחיל לכתוב תוכנה לשדון.