آخرین مطالب ارسالی
پربازدید ترین مطالب سایت
آخرین ارسال های انجمن
![]()
|
در ادامه
اگر تبلیغات کفش های هوشمند را در اینترنت دیده باشید، می دانید که بیشتر آنها روی اهدافی مثل سلامتی و تناسب اندام تمرکز دارند. اما قدم شمار و شمارشگر کالری ویژگی هایی هستند که در هر گوشی هوشمند و ساعت هوشمندی هم یافت می شود. اگر شما هم انتظارهای دیگری از کفش هوشمند دارید،کفش هوشمندی را یاد بگیرید که می تواند در شرایط اضطراری مختصات موقعیت شما را برای خانواده و دوستان ارسال کند!
این کفش هوشمند بیشتر کارکرد امنیتی دارد و به همین خاطر با تمام نمونه های موجود در بازار متفاوت است. وقتی این کفش ها پایتان باشند و پاهایتان را به شکل خاصی روی هم بیاندازید، موقعیت جغرافیایی شما برای خانواده تان ارسال می شود. اگر این پیام دریافت نشود هم اعضای خانواده می توانند با سیم کارت داخل کفش تماس بگیرند. بعد از دریافت تماس، کفش هوشمند تماس را قطع می کند و مختصات GPS جدید از طریق پیامک برایشان ارسال می کند.
در ساخت کفش هوشمند از یک الگوریتم ویژه با الگوی تشخیص ژست استفاده شده که می تواند پاهای روی هم افتاده را تشخیص بدهد. برای تشخیص پاهای رو هم افتاده از سنسور اثر هال و آهنربای نئودیمیمی استفاده می کنیم. این سنسور یک قطعه الکترونیکی سه پایه است که با تشخیص تغییر ولتاژ در پین sense طبق میدان مغناطیسی نزدیک به آن کار می کند. آهنربا و سنسور در کفش قرار می گیرند و وقتی کفش ها طوری قرار بگیرند که ولتاژ پین sense از مقدار مشخص شده بگذرد، برد آردوینو وارد کار می شود.
بعد از تشخیص این حالت در پاها، فرایند ارسال اطلاعات GPS موقعیت به یک سرور ریموت به وسیله آردوینو فعال می شود. ضمن اینکه شما می توانید آپدیت ها را به صورت همزمان روی گوگل مپ ببینید.
برای ساخت کفش از MDF استفاده شده اما اگر به پرینتر سه بعدی دسترسی داشته باشید می توانید از فیلامنت های انعطاف پذیر برای ساخت کفش استفاده کنید. به این ترتیب استفاده از کفش به مراتب راحت تر می شود. البته با MDF هم فشار چندانی به پا نمی آید چون این قسمت از کفش را با متریال های دیگر می پوشانیم. اگر استفاده از پاشنه های مخصوص افزایش قد برایتان سخت نباشد، به راحتی می توانید این کفش ها را هم بپوشید.
در ویدیوهای زیر می توانید مراحل ساخت کفش هوشمند و ویژگی های آن را ببینید.
برای ساخت کفش هوشمند علاوه بر آشنایی با الکترونیک و برنامه ریزی آردوینو، باید با PHP هم آشنا باشید چون باید صفحه وب مخصوص نمایش آپدیت های ماژول GPS را بسازید.
شماتیک مدار کفش هوشمند
در تصویر بالا نسخه Eagle Cad شماتیک مدار کفش هوشمند را می بینید. برای ساخت این کفش ها لزوما نباید تمام جزییات شماتیک را درک کنید چون در گام های بعدی، مراحل را برایتان توضیح خواهیم داد. ضمن اینکه با استفاده از شبیه ساز مدار Autodesk بخش های مختلف شماتیک را با جزییات بیشتر در اختیارتان قرار می دهیم. این ابزار فهم و پیاده سازی مدار را به مراتب ساده تر می کند.
آردوینو در مراحل انتهای کار روی برد مدار چاپی لحیم می شود. بنابراین قبل از شروع باید پین هدرهای نر را به برد آردوینو لحیم کنیم. برای اینکار از روش خاصی استفاده می کنیم که منجر به نازک شدن مدار می شود و در نتیجه برد راحت تر در کفش جا می گیرد.
معمولا پین ها مستقیما داخل سوراخ ها قرار می گیرند و به برد لحیم می شوند. در این حالت بخش پلاستیکی (سیاه رنگ) فضای زیادی اشغال می کند. ضمن اینکه ما از برد دوطرفه ای استفاده می کنیم که هیچ قطعه فلزی برای اتصال دو برد مدار چاپی به یکدیگر ندارد.
بنابراین برای لحیم کردن پین هدر به آردوینو، قسمت پلاستیکی را جدا می کنیم و سپس پین هدر را روی آردوینو لحیم می کنیم. به این ترتیب فضای قابل توجهی برای مراحل بعدی ذخیره می شود.
فایل طراحی برد مدار چاپی را از لینک زیر دانلود کنید (رمز فایل saakhtani.ir است) و طبق مراحل زیر آن را به PCB دوطرفه منتقل کنید:
این آموزش به صورت کامل به ساخت برد مدار چاپی دوطرفه نمی پردازد. با دنبال کردن تگ ساخت برد مدار چاپی دوطرفه نیاز به دقت بیشتری دارد چون طرح باید در هر دو طرف برد کاملا تراز باشد.
بعد از انتقال طرح به برد مدار چاپی نوبت به اسیدکاری می رسد که به روش زیر انجام می شود:
اگر می خواهید فرایند اسیدکاری را سرعت بدهید، یک موتور DC ضدآب داخل مخزن محلول قرار بدهید. این موتور باعث می شود محلول همواره در گردش باشد و سرعت اسیدکاری را بیشتر می کند.
با استفاده از یک مینی دریل، سوراخ های رو برد را طبق نقشه دریل کنید. برای اینکار می توانید از دریل مخصوص PCB استفاده کنید که قبلا آموزش ساختش را در سایت ساختنی خوانده اید.
در این پروژه از یک سیم کارت برای ارتباطات و دسترسی به GPRS و GMS استفاده می کنیم. می توانید سیم کارت را در ماژول FONA قرار بدهید و کارتان را ساده تر کنید. راه دیگر که دسترسی مداوم به سیم کارت را ساده تر می کند، اضافه کردن شیار به برد مدار چاپی است.
با دقت روی برد مدار چاپی یک علامت مستطیلی می بینید. دور تا دور این قسمت را سوراخ کنید تا بتوانید تکه مستطیلی را از برد جدا کنید. به این ترتیب شیار سیم کارت روی برد ایجاد می شود.
می توانید شیار را با ابزارهای بهتری هم ببرید اما اگر فقط به دریل دسترسی دارید، این روش هم پاسخگوی نیازتان خواهد بود. البته باید دقت کنید به سایر بخش های برد مدار چاپی آسیبی وارد نشود.
کار لحیم کاری قطعات روی PCB را از قطعات ریز از جمله قطعات SMD آغاز می کنیم. در مجموع چهار قطعه SMD داریم که همگی باید سرجایشان روی برد لحیم بشوند. بهتر است برای لحیم کاری این قطعات از گیره لحیم کاری یا هویه گیره دار استفاده کنید.
لحیم کاری آردوینو روی PCB جزییاتی دارد که در متن و تصاویر به آنها اشاره نشده است. بنابراین توصیه می کنیم ویدیوی آموزشی را ببینید تا اشتباهی در این مرحله از ساخت کفش هوشمند رخ ندهد.
در این مرحله باید ماژول FONA 808 را روی برد مدار چاپی که ساخته اید، لحیم کنید. پین هدرها را تا جایی که می شود در سوراخ ها فرو کنید تا ماژول فضای کمتری اشغال کند. در ضمن باید لحیم را از هر دو طرف به برد بزنید.
معمولا ماژول GPS یک آنتن هم ندارد اما به دو دلیل نمی توانیم از آن آنتن استفاده کنیم:
همین دو دلیل برای اینکه خودمان دست به کار بشویم و یک آنتن ساده بسازیم، کافی است. ساخت آنتن بسیار ساده است و با قرار دادن یک تکه کاغذ بین دو لایه فویل آلومینیومی انجام می شود.
برای ساخت آنتن به فویلی نیاز داریم که هم نازک باشد و هم آنقدر مقاوم باشد که در برابر ساییدگی و پارگی مقاوم بشود. ظروف فویلی بهترین انتخاب متناسب با این نیازها هستند. یک ظرف آلومینیومی پیدا کنید و به روش زیر آنتن GPS را بسازید:
دقت کنید هیچ اتصالی بین صفحات GND و Patch وجود نداشته باشد. اگر این دو صفحه کوتاه بشوند، مدار داخلی ماژول FONA آسیب می بیند.
کیفیت نهایی کفش هوشمند تا مقدار زیادی به کیفیت این پاشنه ها بستگی دارد. پس در ساخت آنها دقت کنید.
روی لایه دوم پاشنه، یک شیار با عرض ۵ میلیمتر و عمق یک میلیمتر ایجاد کنید. این شیار که با کاتر ایجاد می شود، محل عبور سیم های آنتن GPS است.
ماژول FONA 808 یک سیستم شارژ باتری لیتیوم یونی توکار دارد. در این مرحله می خواهید پورت شارژ این سیستم را با یک پورت میکروی دیگر گسترش بدهیم.
حالا هر چهار لایه MDF آماده هستند و می توانیم آنها را بهم بچسبانیم. به هر چهار لایه کمی چسب بزنید، لایه ها را روی هم بگذارید و آنها را با گیره ببندید تا خوب خشک بشوند. فراموش نکنید قبل از چسباندن لایه ها به یکدیگر، پورت شارژ را بین آنها قرار بدهید. قرار دادن پورت در شیار بعد از چسباندن لایه ها خیلی سخت می شود.
برای اینکه کاربر مطمئن بشود بعد از روی هم انداختن پاها، فرایند ارسال موقعیت فعال شده از یک موتور ویبراتور استفاده می کنیم. وقتی پاهایتان را روی هم می اندازید، این موتور به مدت یک ثانیه می لرزد تا شما را از شروع فرایند امداد مطلع کند.
این موتور را می توانید از موبایل های قدیمی جدا کنید. موتور ویبراتور به پین ۱۳ برد آردوینو وصل می شود. این موتور جریان بسیار کمی مصرف می کند و به همین خاطر اتصال آن به پین های atmega328 مشکل چندانی ایجاد نمی کند.
در این لینک می توانید شبیه سازی این بخش از مدار را ببینید.
همانطور که گفتیم تشخیص حالت پاها توسط سنسور اثر هال و با تشخیص تغییر در میدان مغناطیسی ایجاد شده به وسیله آهنربای موجود در جفت دیگر کفش صورت می گیرد. این سنسور تغییرات میدان مغناطیسی را به مقادیر آنالوگی تبدیل می کند که آردوینو می تواند آنها را بخواند. اگر این مقادیر از آستانه تعریف شده بیشتر باشند، آردوینو فرایند ارسال موقعیت را شروع خواهد کرد.
ابتدا پین اوت مناسب سنسور اثر هال را در دیتاشیت پیدا کنید. به پایه های آن سیم جامپر لحیم کنید و اطلاعات را به روش زیر ایجاد کنید:
دقت کنید که اتصالات برد مدار چاپی سنسور اثر هال به پین های مربوطه سیم کشی شده اند و راهنمای بالا فقط یک مرجع است. در ضمن باید به اتصالات کمی هیت شرینک استفاده کنید تا مدار کوتاه نشود.
در این لینک می توانید شبیه سازی این بخش از مدار را ببینید.
حالا باید آنتن GPS را به ماژول FONA لحیم کنید. پین GPS این ماژول پین ۳۵ است که نزدیک گوشه قرار دارد. دقت کنید هنگام لحیم کاری حتی یک میلی گرم لحیم هم به پین های مجاور نخورد چون کوتاه شدن مدار، تراشه SIM 808 را از کار می اندازد.
کانکتور باتری این امکان را به شما می دهد که اگر لازم شد باتری را خیلی راحت تر جدا کنید. برای اتصال این کانکتور، ابتدا شیار کانکتور را روی پاشنه ایجاد کنید. سپس سیم های مثبت و منفی باتری را به کانکتور وصل کنید و کانکتور را در شیاری که ایجاد کرده ایم، بچسبانید.
در نهایت هم باید سوئیچ را اضافه کنید که می توانید شبیه سازی اتصال سوئیچ را در این لینک ببینید.
آنتن GSM دومین آنتنی است که برای ساخت کفش هوشمند به آن نیاز داریم. برای ساخت این آنتن، کمی کابل روکش شده تهیه کنید و روکش را باز کنید. سیم هسته داخلی این کابل کار آنتن را خواهد کرد. روکش خارجی را به GND مدار وصل کنید تا از مدا محافظت کند.
برای اینکه وزن کاربر به باتری های داخل پاشنه آسیب نزند، باید یک صفحه کاور برای باتری ها طراحی کنیم. این محافظ وزن را روی پاشنه پخش می کند و نمی گذارد فشار مستقیما به باتری وارد بشود.
این صفحه محافظ را از جنس PCB فایبرگلس در ابعاد مناسب ببرید. در گوشه بالایی آن هم یک شیار برای عبور آنتن GSM ایجاد کنید.
در ادامه می توانید کدهای آردوینو را ببینید. دقت کنید که کدها را نباید در نرم افزار IDE کپی کنید. فقط از فایل ino کدها که در لینک زیر قرار دارد (رمز فایل saakhtani.ir است) برای برنامه ریزی آردوینو استفاده کنید.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
|
// This Code is made by and for Sahas chitlange ONLY
// Project >>>> GPS smart shoe sole
// A companion shoe sole that can Save Lives...
#include SoftwareSerial FONA (2,5);
intstate=LOW; // the current state of the output pin
intreading; // the current reading from the input pin
intoutPin=13; // master pin
intprevious=LOW;
longtime=; // the last time the output pin was toggled
longdebounce=500; // the debounce time, increase if the output flickers
charstoredLocation;
intinTrouble=4; // reed switch
intcheck; // variable to store reading of digital pin...
intslavePin=12; // slavePin for calling
intvibratorMotor=11;
intIncomingCall=3; // RI of fona to detect calls
intmessageState=LOW; // initial state of state of pin
intmessagePin=6;
intmessageSlavePin=7;
//int refPin = 9 ; // Pin to provide 3.3V ref to FONA
intmSensor=A1;
intslavemSensor=9;
intthreshold=525; // variab;e to store Hall sensor reading...</p><p>void setup() {
Serial.begin(9600); // begin the serial communications
FONA.begin(9600);
// declare the pinModes
pinMode(inTrouble,INPUT);
pinMode(slavePin,INPUT);
pinMode(outPin,OUTPUT);
pinMode(11,OUTPUT); // Vibrator motor at pin 11
pinMode(IncomingCall,INPUT_PULLUP);
pinMode(messagePin,INPUT);
pinMode(messageSlavePin,OUTPUT);
// pinMode(refPin , OUTPUT); Zener diode is better for reference voltage
// digitalWrite(refPin , HIGH);
// Interrupt for messageAfterCall
attachInterrupt(digitalPinToInterrupt(IncomingCall),incomingCall,CHANGE);
pinMode(slavemSensor,OUTPUT);
//========================================= // Turn on GPS
delay(10000);
FONA.print("AT+CGNSPWR=1");
FONA.println("");
Serial.print("IS GPS TURNED ON? ==> ");
delay(1000);
toSerial1();
FONA.print("ATE0");FONA.println("");
Serial.print("IS ECHO OFF? ==> ");
delay(1000);
toSerial1();
FONA.print("AT+CMGF=1");FONA.println("");
Serial.print("IS SMS MODE SET TO TXT ==> ");
delay(100);
toSerial1();
// ===========================================
FONA.print("AT+CGATT=1");FONA.println("");// Turn on GPRS SERVICE
Serial.print("IS GPRS ATTACHED ==> ");
delay(100);
toSerial1();</p><p> // bearer settings
FONA.print("AT+SAPBR=3,1,"CONTYPE","GPRS"");FONA.println("");
Serial.print("BEARER SET? ==> ");
delay(2000);
toSerial1();
</p><p> // bearer settings
FONA.print("AT+SAPBR=3,1,"APN","imis/internet"");FONA.println("");
Serial.print("APN SETTINGS ARE DONE? ==>");
delay(2000);
toSerial1();</p><p> // bearer settings
FONA.print("AT+SAPBR=1,1");FONA.println("");
Serial.print("IS INTERNET ACTIVATED (may return ERROR if already on) ==>");
delay(2000);
toSerial1();
//=============================================
}</p><p>voidloop(){
Serial.println("Checking the switch states to decide further actions");
while(FONA.available()>){
Serial.println(FONA.read());}
hallSensor();
checkState();
messageAfterCall();
}
voidInform(){
Stringcontent="";
charc;
FONA.print("AT+CGNSINF");FONA.println("");
delay(1000);
while(FONA.available()){
c=FONA.read();
if(c==0x0A||c==0x0D)
{ ; }
else{
content.concat(c);
}
}
Serial.println(content);
FONA.print("AT+CMGS="+************"");FONA.println(""); // The Phone number to be Informed///
Serial.print("SMS INITIALIZED");
digitalWrite(9,LOW);
delay(100);
//toSerial();
FONA.print("I am in trouble. Please help.");FONA.println("");
FONA.print("Following String is my location");FONA.println("");
FONA.print(content);
delay(1000);
FONA.println((char)26);// Terminate
delay(10000);
toSerial1();
delay(1000);
Serial.println("Message Sent Successfully!");
digitalWrite(messageSlavePin,LOW);
}</p><p>voidServerSubmit(){
Stringcontent="";
charc;
FONA.print("AT+CGNSINF");FONA.println("");
delay(1000);
while(FONA.available()){
c=FONA.read();
if(c==0x0A||c==0x0D)
{ ; }
else{
content.concat(c);
}
}
//CGNSINF: 1,1,20160411112045.000,19.863687,75.352990,581.700,4.33,116.4,1,,2.2,2.3,1.0,,11,4,,,19,,OK <== sample location...
StringLat=content.substring(33,42);Serial.println(Lat);
StringLon=content.substring(43,52);Serial.println(Lon);
delay(100);
FONA.print("AT+HTTPINIT");FONA.println(""); // Initialise HTTP
Serial.println("HTTP INITIALISED");
toSerial1();
delay(3000);</p><p> FONA.print("AT+HTTPPARA="URL","http://data.sparkfun.com/input/ZGoQyQGdzbFwpxnpp79W?private_key=2mMwnwmZWpTMNVDNNrGP"); // BUILD URL
FONA.print("&location=");FONA.print(content);FONA.println(""");
toSerial1();
delay(100);
Serial.print("Location coordinates Submitted! => ");Serial.println(content);
toSerial1();
delay(2000);</p><p> FONA.print("AT+HTTPACTION=0");FONA.println("");
Serial.println("Response from Server ONE");
delay(6000);
toSerial1(); // Submit location
delay(1000);
toSerial1();
// FONA.print("AT+HTTPREAD");fonaSS.println("");
// Serial.println("Response (READ) from Server ONE");
// toSerial(); // No need to read from server ... saves time
// delay(3000);
FONA.print("AT+HTTPPARA="URL","http://data.sparkfun.com/input/YGYQnoywpMCov11AZKRN?private_key=RbP9RdG4EMUPVrr2lA8z");
FONA.print("&latitude=");FONA.print(Lat);FONA.print("&longitude=");FONA.print(Lon);FONA.println(""");
toSerial1();// BUILD URL
delay(2000);</p><p> FONA.print("AT+HTTPACTION=0");FONA.println("");
Serial.println("Response from Server TWO");
delay(6000);
toSerial1();
delay(100);
toSerial1();
//fonaSS.print("AT+HTTPREAD");fonaSS.println("");
//Serial.println("Response (READ) from Server TWO"); // No need to read from server ... saves time
//toSerial();
//delay(3000);</p><p> FONA.print("AT+HTTPTERM");FONA.println("");
Serial.print("HTTP TERMINATED");
toSerial1();
delay(500);
toSerial1();
delay(100);
}</p><p>voidtoSerial(){
while(FONA.available())
Serial.print((char)FONA.read());
//Serial.println();
}
voidcheckState(){
reading=digitalRead(inTrouble); // Check State of pin 4
if(reading==HIGH&&previous==LOW&&millis()-time>debounce){ // Debouncing to avoid errors...
delay(100);
digitalWrite(11,HIGH);
delay(500);
digitalWrite(11,LOW);
delay(1000);
Inform();
if(state==LOW)
state=HIGH;
else
state=LOW;
digitalWrite(11,HIGH);
delay(1000);
digitalWrite(11,LOW);
time=millis();
}
digitalWrite(outPin,state);
check=digitalRead(slavePin);
if(check==HIGH){
ServerSubmit(); // Submit data to HTTP server until reset.//
}
previous=reading;
}
voidtoSerial1(){ // function to save the response of serial as a string and print it to monitor
Stringcontent="";
charc;
while(FONA.available()){
c=FONA.read();
if(c==0x0A||c==0x0D)
{ ; }
else{
content.concat(c);
}
}
Serial.println(content);
}
voidincomingCall(){
FONA.print("ATH");// disconnest the call immediately
FONA.println(""); // Interrupt stuff ,,, If call is detected ,
// the program pulls the messageSlavePin HIGH and function messageAfterCall()
// is called in the loop to send sms.
digitalWrite(messageSlavePin,HIGH); // <<<< this is it>>>
}
voidmessageAfterCall(){
messageState=digitalRead(messagePin);
if(messageState==HIGH){
digitalWrite(messageSlavePin,LOW);// turn of message service i.e. send a message only once...//
delay(1000);
Serial.println(FONA.read());// Flush everything clear
delay(100);
Inform();
}
}</p><p>voidhallSensor(){
intanalogValue=analogRead(mSensor);</p><p> // if the analog value is high enough, turn on the LED:
if(analogValue>threshold){
digitalWrite(9,HIGH);
}else{
digitalWrite(9,LOW);
}</p><p> // print the analog value:
Serial.println(analogValue);
delay(1); // delay in between reads for stability
}</p>
|
کفش هوشمند برای ارسال پیامک از سرویس GSM سیم کارت استفاده می کنتد. بنابراین باید شماره سیم کارت خودتان را در کدها وارد کنید. دقت کنید اینکار باید قبل از آپلود کدها انجام بشود.
کدها را در ویرایشگر نرم افزار باز کنید و دنبال خطوط زیر بگردید:
1
|
...
|
1
2
3
|
Serial.println(content);<br> FONA.print("AT+CMGS="+************"");FONA.println(""); // The Phone number to be Informed///
Serial.print("SMS INITIALIZED");
digitalWrite(9,LOW);
|
1
|
...
|
حالا شماره موبایل را با فرمت (شماره موبایل)(کد کشور)+ به جای ********** وارد کنید.
مثلا اگر شماره موبایل شماره موبایل شما ۰۰۰۰۰۰۰۰۰۰ و کد کشورتان ۱۱ باشد، کدها به شکل زیر درمی آیند:
1
|
...
|
1
|
Serial.println(content);<br> FONA.print("AT+CMGS="+110000000000"");FONA.println(""); // The Phone number to be Informed///
|
1
|
...
|
خدمات دیتا، خدماتی است که انتقال سیگنال های ارتباطی بین کاربران شبکه را فراهم می کند. این خدمات کاربران را قادر می سازد سیگنال های مورد نظرشان را بین اکسس پوینت های خاص انتقال بدهند.
هر اپراتور سیم کارت، تنظیمات APN خاصی برای خدمات دیتا دارد و کاربران برای استفاده از خدمات GPRS به این تنظیمات نیاز دارند.
در این مرحله باید تنظیمات APN اپراتور سیم کارت خودتان را پیدا کنید و آنها را در کدها وارد کنید. بعد از پیدا کردن تنظیمات در وب سایت اپراتور، دنبال خطوط زیر در کدها بگردید:
1
2
3
4
|
// bearer settings<br> FONA.print("AT+SAPBR=3,1,"CONTYPE","GPRS"");FONA.println("");
Serial.print("BEARER SET? ==> ");
delay(2000);
toSerial1();
|
1
2
3
4
5
|
// bearer settings
FONA.print("AT+SAPBR=3,1,"APN","******"");FONA.println("");
Serial.print("APN SETTINGS ARE DONE? ==>");
delay(2000);
toSerial1();
|
حالا APN خودتان را به جای *** وارد کنید.
اسکریپت PHP کفش هوشمند را از لینک زیر دانلود کنید. در ادامه بیشتر درباره این اسکریپت توضیح خواهیم داد. فعلا فقط آنها را دانلود کنید و با ادیتور notepad++ باز کنید.
همانطور که در ابتدا گفتیم در این پروژه از سرویس گوگل مپ استفاده خواهیم کرد. و برای اینکار با یک کلید API نیاز داریم. روش تهیه این کلید بسیار ساده و البته رایگان است.
خط زیر را در اسکریپت PHP پیدا کنید:
1
|
<script src="http://maps.googleapis.com/maps/api/js?key=<your key here>&sensor=false">
|
این خط را با کلید API که از گوگل دریافت کرده اید، ویرایش کنید.
حالا به یک کامپیوتر میزبان برای ذخیره و اجرای این اسکریپت نیاز داریم. یکی از گزینه ها استفاده از یک کامپیوتر قدیمی، راه اندازی سرور Apache روی آن و ذخیره کدهاست. اما گزینه ساده تر استفاده از یک میزبان وب رایگان است. برای ساخت هاست رایگان به ترتیب زیر عمل کنید:
آدرس سرور شما با آدرس ما فرق دارد. بنابراین باید این قسمت از کدهای آردوینو را هم ویرایش کنید.
خط زیر را در کدها پیدا کنید:
1
|
FONA.print("AT+HTTPPARA="URL","http:///<your_domain_here>/<PHP_file_name>.php?");
|
آدرس خودتان را با آدرسی که در کدها می بینید، جایگزین کنید. بعد از آدرس سرور هم باید نامی که اسکریپت PHP را با آن ذخیره کرده اید، وارد کنید.
برای آپلود کدها روی برد آردینو Pro Mini به یک تراشه FTDI ۳.۳ ولتی نیاز داریم. آردوینو را به کامپیوتر وصل کنید، تنظیمات لازم برای برد Pro Mini را در نرم افزار وارد کنید و در نهایت کدها را روی برد آپلود کنید.
اگر برای برنامه ریزی برد آردوینو Pro Mini به راهنمایی بیشتری نیاز دارید، آموزش برنامه ریزی بردهای آردینو را بخوانید. در ضمن به ولتاژ تراشه FTDI هم دقت کنید که حتما روی ۳.۳ ولت باشد چون در غیر این صورت به برد آردوینو آسیب خواهد زد.
برای اینکه مطمئن شوید سرور درست طراحی شده و اطلاعات به آن ارسال می شود، آدرس زیر را در مرورگر وارد کنید:
اگر پیامی که در تصویر بالا می بینید برایتان نمایش داده شد، سرور درست کار می کند و می تواند آپدیت های موقعیت GPS را نمایش بدهد.
حالا فقط باید پاشنه ای که خودتان ساخته اید را زیر کفی یک جفت کفش قرار بدهید و آهنربا را در جفت دیگر کفش فرو کنید. از این به بعد می توانید با خیال راحت این کفش ها را پایتان کنید و مطمئن شوید همیشه یک نفر از جایتان خبر دارد.
همانطور که دیدید ساخت کفش هوشمند بسیار ساده است و طراحی پیچیده ای ندارد. شما می توانید با روش های مختلف این کفش هوشمند ساده را ارتقا بدهید؛ مثلا کدها را بهینه سازی کنید، برنامه موبایل طراحی کنید یا پاشنه با با فیلامنت های منعطف پرینت کنید. شما چه پیشنهادی برای بهبود کفش هوشمند دارید؟
مطالب مرتبط
بخش نظرات این مطلب
آمار
ورود کاربران