logo-mobile

ROHM

ROHM
Menu
  • Arduino –
  • Raspberry Pi –
  • Trending –
  • Others –
  • About –
  • Contact –

Arduino

How To Make Smart Home Electronics: A Smart Mailbox

Rabindranath Andujar
Published by Rabindranath Andujar at June 16, 2016
Categories
  • Arduino
Tags
  • Arduino
smart home electronics

smart home electronics

This project combines the idea of IOT and Smart Home electronics in one useful project. The project aims to save your time checking your mailbox by simply sending you notifications to your mobile phone if you get new mail. With one of the features offered in this project, connection coverage, you are able to check your mailbox at home from any place in the world.

Description

Detect if there is new mail inside your mailbox.

Notify the user by the mobile app with the detection result.

Hardware components:

ESP8266

smart home electronics

Figure 1: ESP8266 / ©ACROBOTIC

  • 32-bit microcontroller with 80 MHz clock frequency with built-in Wi-Fi module
  • Extremely low-cost around $1
  • Could be run with Lua (NodeMCU), JavaScript (Espruino), and Python (Micro Python) interpreters
  • Arduino IDE integration

ESP-12E Development Board (aka NodeMCU DevKit)

smart home electronics

Figure 2: NodeMCU / ©ACROBOTIC

The ESP-12E module breaks out all the available ESP8266 pins on a development board for easy interaction with the user.

  • Can be programmed easily via micro USB cable.
  • Visible LED for indicating the status of the SoC’s Tx pin.
  • ESP-12E a 4MB SPI flash storage IC
  • onboard antenna with a reasonable range (–70~–80 dBm at 50 feet).
smart home electronics

Figure 3: ESP-12E Development Board / ©ACROBOTIC

HC-SR04 Ultrasonic Sensor

smart home electronics

Figure 4: Ultrasonic sensor

The HC-SR04 ultrasonic sensor uses sonar ultrasonic waves to determine distance to an object. It offers excellent non-contact range detection with high accuracy and stable readings. Its operation is not affected by sunlight or black material. It comes complete with an ultrasonic transmitter and receiver module.

You can find the User’s Manual for the HC-SR04 ultrasonic sensor here.

Software components:

Arduino IDE
Blynk App
Milestones

Install ESP-12E Development Board driver in Arduino IDE

In the Arduino IDE open the Preferences window and Copy the URL below into the Additional Boards Manager URLs field, and select OK.

http://arduino.esp8266.com/stable/package_esp8266com_index.json

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
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
{
  "packages": [
    {
      "maintainer": "ESP8266 Community",
      "help": {
        "online": "http://esp8266.com/arduino"
      },
      "websiteURL": "https://github.com/esp8266/Arduino",
      "platforms": [
        {
          "category": "ESP8266",
          "name": "esp8266",
          "url": "https://github.com/esp8266/Arduino/releases/download/2.3.0/esp8266-2.3.0.zip",
          "checksum": "SHA-256:884188a54bc75f1f2e7f827619f8cb1980dc3f430f92f9b07186ed7f4db8c738",
          "help": {
            "online": "http://esp8266.github.com/Arduino/versions/2.3.0/"
          },
          "version": "2.3.0",
          "architecture": "esp8266",
          "archiveFileName": "esp8266-2.3.0.zip",
          "boards": [
            {
              "name": "Generic ESP8266 Module"
            },
            {
              "name": "Olimex MOD-WIFI-ESP8266(-DEV)"
            },
            {
              "name": "NodeMCU 0.9 (ESP-12 Module)"
            },
            {
              "name": "NodeMCU 1.0 (ESP-12E Module)"
            },
            {
              "name": "Adafruit HUZZAH ESP8266 (ESP-12)"
            },
            {
              "name": "ESPresso Lite 1.0"
            },
            {
              "name": "ESPresso Lite 2.0"
            },
            {
              "name": "Phoenix 1.0"
            },
            {
              "name": "Phoenix 2.0"
            },
            {
              "name": "SparkFun Thing"
            },
            {
              "name": "SweetPea ESP-210"
            },
            {
              "name": "WeMos D1"
            },
            {
              "name": "WeMos D1 mini"
            },
            {
              "name": "ESPino (ESP-12 Module)"
            },
            {
              "name": "ESPino (WROOM-02 Module)"
            },
            {
              "name": "WifInfo"
            },
            {
              "name": "ESPDuino"
            }
          ],
          "toolsDependencies": [
            {
              "packager": "esp8266",
              "version": "0.4.9",
              "name": "esptool"
            },
            {
              "packager": "esp8266",
              "version": "1.20.0-26-gb404fb9-2",
              "name": "xtensa-lx106-elf-gcc"
            },
            {
              "packager": "esp8266",
              "version": "0.1.2",
              "name": "mkspiffs"
            }
          ],
          "size": "8595050"
        },
        {
          "category": "ESP8266",
          "help": {
            "online": "http://esp8266.github.com/Arduino/versions/2.1.0/"
          },
          "url": "https://github.com/esp8266/Arduino/releases/download/2.1.0/esp8266-2.1.0.zip",
          "checksum": "SHA-256:000818d500ea90bcb516d667c688387f34003247bb5592e795bc549e91f9ace0",
          "name": "esp8266",
          "version": "2.1.0",
          "architecture": "esp8266",
          "archiveFileName": "esp8266-2.1.0.zip",
          "size": "5776332",
          "toolsDependencies": [
            {
              "packager": "esp8266",
              "version": "0.4.8",
              "name": "esptool"
            },
            {
              "packager": "esp8266",
              "version": "1.20.0-26-gb404fb9-2",
              "name": "xtensa-lx106-elf-gcc"
            },
            {
              "packager": "esp8266",
              "version": "0.1.2",
              "name": "mkspiffs"
            }
          ],
          "boards": [
            {
              "name": "Generic ESP8266 Module"
            },
            {
              "name": "Olimex MOD-WIFI-ESP8266(-DEV)"
            },
            {
              "name": "NodeMCU 0.9 (ESP-12 Module)"
            },
            {
              "name": "NodeMCU 1.0 (ESP-12E Module)"
            },
            {
              "name": "Adafruit HUZZAH ESP8266 (ESP-12)"
            },
            {
              "name": "ESPresso Lite 1.0"
            },
            {
              "name": "ESPresso Lite 2.0"
            },
            {
              "name": "SparkFun Thing"
            },
            {
              "name": "SweetPea ESP-210"
            },
            {
              "name": "WeMos D1"
            },
            {
              "name": "WeMos D1 mini"
            },
            {
              "name": "ESPino (ESP-12 Module)"
            },
            {
              "name": "ESPino (WROOM-02 Module)"
            },
            {
              "name": "WifInfo"
            },
            {
              "name": "ESPDuino"
            }
          ]
        },
        {
          "category": "ESP8266",
          "help": {
            "online": "http://esp8266.github.io/Arduino/versions/2.0.0/"
          },
          "url": "https://github.com/esp8266/Arduino/releases/download/2.0.0/esp8266-2.0.0.zip",
          "checksum": "SHA-256:00911ee9f5d4802b279fd81a5a8177fd6fef4888d04ebe93fc3952bac85d909c",
          "version": "2.0.0",
          "architecture": "esp8266",
          "archiveFileName": "esp8266-2.0.0.zip",
          "boards": [
            {
              "name": "Generic ESP8266 Module"
            },
            {
              "name": "Olimex MOD-WIFI-ESP8266(-DEV)"
            },
            {
              "name": "NodeMCU 0.9 (ESP-12 Module)"
            },
            {
              "name": "NodeMCU 1.0 (ESP-12E Module)"
            },
            {
              "name": "Adafruit HUZZAH ESP8266 (ESP-12)"
            },
            {
              "name": "SparkFun Thing"
            },
            {
              "name": "SweetPea ESP-210"
            },
            {
              "name": "WeMos D1"
            },
            {
              "name": "WeMos D1 mini"
            }
          ],
          "size": "5606497",
          "toolsDependencies": [
            {
              "packager": "esp8266",
              "version": "0.4.6",
              "name": "esptool"
            },
            {
              "packager": "esp8266",
              "version": "1.20.0-26-gb404fb9-2",
              "name": "xtensa-lx106-elf-gcc"
            },
            {
              "packager": "esp8266",
              "version": "0.1.2",
              "name": "mkspiffs"
            }
          ],
          "name": "esp8266"
        },
        {
          "category": "ESP8266",
          "help": {
            "online": "http://esp8266.github.com/Arduino/versions/2.2.0/"
          },
          "url": "https://github.com/esp8266/Arduino/releases/download/2.2.0/esp8266-2.2.0.zip",
          "checksum": "SHA-256:c0b57abdcd9ad11c506f79e019a35abadb9ac7921972caaa336e08a35048c1db",
          "version": "2.2.0",
          "architecture": "esp8266",
          "archiveFileName": "esp8266-2.2.0.zip",
          "boards": [
            {
              "name": "Generic ESP8266 Module"
            },
            {
              "name": "Olimex MOD-WIFI-ESP8266(-DEV)"
            },
            {
              "name": "NodeMCU 0.9 (ESP-12 Module)"
            },
            {
              "name": "NodeMCU 1.0 (ESP-12E Module)"
            },
            {
              "name": "Adafruit HUZZAH ESP8266 (ESP-12)"
            },
            {
              "name": "ESPresso Lite 1.0"
            },
            {
              "name": "ESPresso Lite 2.0"
            },
            {
              "name": "SparkFun Thing"
            },
            {
              "name": "SweetPea ESP-210"
            },
            {
              "name": "WeMos D1"
            },
            {
              "name": "WeMos D1 mini"
            },
            {
              "name": "ESPino (ESP-12 Module)"
            },
            {
              "name": "ESPino (WROOM-02 Module)"
            },
            {
              "name": "WifInfo"
            },
            {
              "name": "ESPDuino"
            }
          ],
          "size": "5981702",
          "toolsDependencies": [
            {
              "packager": "esp8266",
              "version": "0.4.8",
              "name": "esptool"
            },
            {
              "packager": "esp8266",
              "version": "1.20.0-26-gb404fb9-2",
              "name": "xtensa-lx106-elf-gcc"
            },
            {
              "packager": "esp8266",
              "version": "0.1.2",
              "name": "mkspiffs"
            }
          ],
          "name": "esp8266"
        },
        {
          "category": "ESP8266",
          "help": {
            "online": "http://arduino.esp8266.com/versions/1.6.5-947-g39819f0/doc/reference.html"
          },
          "url": "http://arduino.esp8266.com/versions/1.6.5-947-g39819f0/esp8266-1.6.5-947-g39819f0.zip",
          "checksum": "SHA-256:79a395801a94c77f4855f3921b9cc127d679d961ec207e7fb89f90754123d66a",
          "version": "1.6.5-947-g39819f0",
          "architecture": "esp8266",
          "archiveFileName": "esp8266-1.6.5-947-g39819f0.zip",
          "boards": [
            {
              "name": "Generic ESP8266 Module"
            },
            {
              "name": "Olimex MOD-WIFI-ESP8266(-DEV)"
            },
            {
              "name": "NodeMCU 0.9 (ESP-12 Module)"
            },
            {
              "name": "NodeMCU 1.0 (ESP-12E Module)"
            },
            {
              "name": "Adafruit HUZZAH ESP8266 (ESP-12)"
            },
            {
              "name": "SweetPea ESP-210"
            }
          ],
          "size": "2295584",
          "toolsDependencies": [
            {
              "packager": "esp8266",
              "version": "0.4.5",
              "name": "esptool"
            },
            {
              "packager": "esp8266",
              "version": "1.20.0-26-gb404fb9",
              "name": "xtensa-lx106-elf-gcc"
            }
          ],
          "name": "esp8266"
        }
      ],
      "tools": [
        {
          "version": "1.20.0-26-gb404fb9-2",
          "name": "xtensa-lx106-elf-gcc",
          "systems": [
            {
              "url": "http://arduino.esp8266.com/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz",
              "checksum": "SHA-256:10476b9c11a7a90f40883413ddfb409f505b20692e316c4e597c4c175b4be09c",
              "host": "i686-mingw32",
              "archiveFileName": "win32-xtensa-lx106-elf-gb404fb9-2.tar.gz",
              "size": "153527527"
            },
            {
              "url": "http://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
              "checksum": "SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6",
              "host": "x86_64-apple-darwin",
              "archiveFileName": "osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
              "size": "35385382"
            },
            {
              "url": "http://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
              "checksum": "SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6",
              "host": "i386-apple-darwin",
              "archiveFileName": "osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
              "size": "35385382"
            },
            {
              "url": "http://arduino.esp8266.com/linux64-xtensa-lx106-elf-gb404fb9.tar.gz",
              "checksum": "SHA-256:46f057fbd8b320889a26167daf325038912096d09940b2a95489db92431473b7",
              "host": "x86_64-pc-linux-gnu",
              "archiveFileName": "linux64-xtensa-lx106-elf-gb404fb9.tar.gz",
              "size": "30262903"
            },
            {
              "url": "http://arduino.esp8266.com/linux32-xtensa-lx106-elf.tar.gz",
              "checksum": "SHA-256:b24817819f0078fb05895a640e806e0aca9aa96b47b80d2390ac8e2d9ddc955a",
              "host": "i686-pc-linux-gnu",
              "archiveFileName": "linux32-xtensa-lx106-elf.tar.gz",
              "size": "32734156"
            },
            {
              "url": "http://arduino.esp8266.com/linuxarm-xtensa-lx106-elf-g46f160f-2.tar.gz",
              "checksum": "SHA-256:f693946288f2ffa17288ef75ae16fa08573993f2b0a2a5e6bc35a68dc6087443",
              "host": "arm-linux-gnueabihf",
              "archiveFileName": "linuxarm-xtensa-lx106-elf-g46f160f-2.tar.gz",
              "size": "34938475"
            }
          ]
        },
        {
          "version": "1.20.0-26-gb404fb9",
          "name": "xtensa-lx106-elf-gcc",
          "systems": [
            {
              "url": "http://arduino.esp8266.com/win32-xtensa-lx106-elf-gb404fb9.tar.gz",
              "checksum": "SHA-256:1561ec85cc58cab35cc48bfdb0d0087809f89c043112a2c36b54251a13bf781f",
              "host": "i686-mingw32",
              "archiveFileName": "win32-xtensa-lx106-elf-gb404fb9.tar.gz",
              "size": "153807368"
            },
            {
              "url": "http://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
              "checksum": "SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6",
              "host": "x86_64-apple-darwin",
              "archiveFileName": "osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
              "size": "35385382"
            },
            {
              "url": "http://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
              "checksum": "SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6",
              "host": "i386-apple-darwin",
              "archiveFileName": "osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
              "size": "35385382"
            },
            {
              "url": "http://arduino.esp8266.com/linux64-xtensa-lx106-elf-gb404fb9.tar.gz",
              "checksum": "SHA-256:46f057fbd8b320889a26167daf325038912096d09940b2a95489db92431473b7",
              "host": "x86_64-pc-linux-gnu",
              "archiveFileName": "linux64-xtensa-lx106-elf-gb404fb9.tar.gz",
              "size": "30262903"
            },
            {
              "url": "http://arduino.esp8266.com/linux32-xtensa-lx106-elf.tar.gz",
              "checksum": "SHA-256:b24817819f0078fb05895a640e806e0aca9aa96b47b80d2390ac8e2d9ddc955a",
              "host": "i686-pc-linux-gnu",
              "archiveFileName": "linux32-xtensa-lx106-elf.tar.gz",
              "size": "32734156"
            }
          ]
        },
        {
          "version": "0.4.9",
          "name": "esptool",
          "systems": [
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-win32.zip",
              "checksum": "SHA-256:9c4162cedf05fcb09fd829bfb90e34ae12458365980d79525a072ff5ca44751c",
              "host": "i686-mingw32",
              "archiveFileName": "esptool-0.4.9-win32.zip",
              "size": "32436"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-osx.tar.gz",
              "checksum": "SHA-256:57938b473765723a7e6602d55973017b7719bda69bdcff4250b24fcbf7a399f5",
              "host": "x86_64-apple-darwin",
              "archiveFileName": "esptool-0.4.9-osx.tar.gz",
              "size": "29310"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-osx.tar.gz",
              "checksum": "SHA-256:57938b473765723a7e6602d55973017b7719bda69bdcff4250b24fcbf7a399f5",
              "host": "i386-apple-darwin",
              "archiveFileName": "esptool-0.4.9-osx.tar.gz",
              "size": "29310"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-linux64.tar.gz",
              "checksum": "SHA-256:fab9d1be8a648bea6728ad5c9d18ce972508187700cf90baf1897ac9cdf4db15",
              "host": "x86_64-pc-linux-gnu",
              "archiveFileName": "esptool-0.4.9-linux64.tar.gz",
              "size": "15564"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-linux32.tar.gz",
              "checksum": "SHA-256:bc4444d73d59be74608be5e1431353a0a9ae9e308e99c76a271d68a6ae145b7b",
              "host": "i686-pc-linux-gnu",
              "archiveFileName": "esptool-0.4.9-linux32.tar.gz",
              "size": "15984"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.9/esptool-0.4.9-linux-armhf.tar.gz",
              "checksum": "SHA-256:d0364492599d90b8305125f8212de5be05397e4efde2fc7d0ed3676bb7018164",
              "host": "arm-linux-gnueabihf",
              "archiveFileName": "esptool-0.4.9-linux-armhf.tar.gz",
              "size": "13763"
            }
          ]
        },
        {
          "version": "0.4.8",
          "name": "esptool",
          "systems": [
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-win32.zip",
              "checksum": "SHA-256:8d09cb0df6234c2a0562389ceedd11482b44a3f538695f9a4df80f9f10411ece",
              "host": "i686-mingw32",
              "archiveFileName": "esptool-0.4.8-win32.zip",
              "size": "32192"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-osx.tar.gz",
              "checksum": "SHA-256:2bcbf19934543fb06c505b2a595b68a76e4cab8e3d8968a4d1802195c87126cf",
              "host": "x86_64-apple-darwin",
              "archiveFileName": "esptool-0.4.8-osx.tar.gz",
              "size": "28798"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-osx.tar.gz",
              "checksum": "SHA-256:2bcbf19934543fb06c505b2a595b68a76e4cab8e3d8968a4d1802195c87126cf",
              "host": "i386-apple-darwin",
              "archiveFileName": "esptool-0.4.8-osx.tar.gz",
              "size": "28798"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-linux64.tar.gz",
              "checksum": "SHA-256:1cd9a6014bbbc37ba6dc249f4fc027f0ca9bbc6dd0e203ebc7d146dfd78a6e78",
              "host": "x86_64-pc-linux-gnu",
              "archiveFileName": "esptool-0.4.8-linux64.tar.gz",
              "size": "15479"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-linux32.tar.gz",
              "checksum": "SHA-256:b0d6e71e6f41d4ed7e167bb4b3f4f0b1b3e49d69af50ab7fbe952cbfed83f164",
              "host": "i686-pc-linux-gnu",
              "archiveFileName": "esptool-0.4.8-linux32.tar.gz",
              "size": "15444"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-linux-armhf.tar.gz",
              "checksum": "SHA-256:e9c4dfb81781610556a6af0377c8efc7cde359e0e2cda2fd48e0a32bae10f506",
              "host": "arm-linux-gnueabihf",
              "archiveFileName": "esptool-0.4.8-linux-armhf.tar.gz",
              "size": "13630"
            }
          ]
        },
        {
          "version": "0.4.5",
          "name": "esptool",
          "systems": [
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-win32.zip",
              "checksum": "SHA-256:1b0a7d254e74942d820a09281aa5dc2af1c8314ae5ee1a5abb0653d0580e531b",
              "host": "i686-mingw32",
              "archiveFileName": "esptool-0.4.5-win32.zip",
              "size": "17408"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-osx.tar.gz",
              "checksum": "SHA-256:924d31c64f4bb9f748e70806dafbabb15e5eb80afcdde33715f3ec884be1652d",
              "host": "x86_64-apple-darwin",
              "archiveFileName": "esptool-0.4.5-osx.tar.gz",
              "size": "11359"
            },
            {
              "url": "http://arduino.esp8266.com/esptool-0.4.5-1-gfaa5794-osx.tar.gz",
              "checksum": "SHA-256:722142071f6cf4d8c02dea42497a747e06abf583d86137a6a256b7db71dc61f6",
              "host": "i386-apple-darwin",
              "archiveFileName": "esptool-0.4.5-1-gfaa5794-osx.tar.gz",
              "size": "20751"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-linux64.tar.gz",
              "checksum": "SHA-256:4ce799e13fbd89f8a8f08a08db77dc3b1362c4486306fe1b3801dee80cfa3203",
              "host": "x86_64-pc-linux-gnu",
              "archiveFileName": "esptool-0.4.5-linux64.tar.gz",
              "size": "12789"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-linux32.tar.gz",
              "checksum": "SHA-256:a7a2c3200786d7396e8cafca1b9aefe56db8ec1dab5e9163d4a19358232a7d87",
              "host": "i686-pc-linux-gnu",
              "archiveFileName": "esptool-0.4.5-linux32.tar.gz",
              "size": "12055"
            }
          ]
        },
        {
          "version": "0.4.6",
          "name": "esptool",
          "systems": [
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-win32.zip",
              "checksum": "SHA-256:0248bf78514a3195f583e29218ca7828a66e13c6e5545a078f1c1257033e4927",
              "host": "i686-mingw32",
              "archiveFileName": "esptool-0.4.6-win32.zip",
              "size": "17481"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-osx.tar.gz",
              "checksum": "SHA-256:0fe87ba7e29ee90a9fc72492aada8c0796f9e8f8a1c594b6b26cee2610d09bb3",
              "host": "x86_64-apple-darwin",
              "archiveFileName": "esptool-0.4.6-osx.tar.gz",
              "size": "20926"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-osx.tar.gz",
              "checksum": "SHA-256:0fe87ba7e29ee90a9fc72492aada8c0796f9e8f8a1c594b6b26cee2610d09bb3",
              "host": "i386-apple-darwin",
              "archiveFileName": "esptool-0.4.6-osx.tar.gz",
              "size": "20926"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-linux64.tar.gz",
              "checksum": "SHA-256:f9f456e9a42bb2597126c513cb8865f923fb978865d4838b9623d322216b74d0",
              "host": "x86_64-pc-linux-gnu",
              "archiveFileName": "esptool-0.4.6-linux64.tar.gz",
              "size": "12885"
            },
            {
              "url": "https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-linux32.tar.gz",
              "checksum": "SHA-256:85275ca03a82bfc456f5a84e86962ca1e470ea2e168829c38ca29ee668831d93",
              "host": "i686-pc-linux-gnu",
              "archiveFileName": "esptool-0.4.6-linux32.tar.gz",
              "size": "13417"
            }
          ]
        },
        {
          "version": "0.1.2",
          "name": "mkspiffs",
          "systems": [
            {
              "url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-windows.zip",
              "checksum": "SHA-256:0a29119b8458b61a877408f7995e4944623a712e0d313a2c2f76af9ab55cc9f2",
              "host": "i686-mingw32",
              "archiveFileName": "mkspiffs-0.1.2-windows.zip",
              "size": "230802"
            },
            {
              "url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-osx.tar.gz",
              "checksum": "SHA-256:df656fae21a41c1269ea50cb53752dcaf6a4e1437255f3a9fb50b4025549b58e",
              "host": "x86_64-apple-darwin",
              "archiveFileName": "mkspiffs-0.1.2-osx.tar.gz",
              "size": "115091"
            },
            {
              "url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-osx.tar.gz",
              "checksum": "SHA-256:df656fae21a41c1269ea50cb53752dcaf6a4e1437255f3a9fb50b4025549b58e",
              "host": "i386-apple-darwin",
              "archiveFileName": "mkspiffs-0.1.2-osx.tar.gz",
              "size": "115091"
            },
            {
              "url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-linux64.tar.gz",
              "checksum": "SHA-256:1a1dd81b51daf74c382db71b42251757ca4136e8762107e69feaa8617bac315f",
              "host": "x86_64-pc-linux-gnu",
              "archiveFileName": "mkspiffs-0.1.2-linux64.tar.gz",
              "size": "46281"
            },
            {
              "url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-linux32.tar.gz",
              "checksum": "SHA-256:e990d545dfcae308aabaac5fa9e1db734cc2b08167969e7eedac88bd0839667c",
              "host": "i686-pc-linux-gnu",
              "archiveFileName": "mkspiffs-0.1.2-linux32.tar.gz",
              "size": "45272"
            },
            {
              "url": "https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-linux-armhf.tar.gz",
              "checksum": "SHA-256:5a8836932cd24325d69054cebdd46359eba02919ffaa87b130c54acfecc13f46",
              "host": "arm-linux-gnueabihf",
              "archiveFileName": "mkspiffs-0.1.2-linux-armhf.tar.gz",
              "size": "41685"
            }
          ]
        }
      ],
      "email": "ivan@esp8266.com",
      "name": "esp8266"
    }
  ]
}

Add a comma and then space before adding the above URL if you already have some other boards in the board manager’s URL.

smart home electronics

smart home electronics

Select the menu option Tools → Board → Boards Manager… Scroll down and locate the option esp8266 by ESP8266 Community, which should be the last item on the list, then click Install.

Please refer to this tutorial if you need additional help setting up the board:

Sketch Ultrasonic sensor with ESP-12E Development Board

Connections

smart home electronics

Figure 5: System wiring

Clearly, we only have a few connections since most of the functions are done internally by our sketch.

Sketch

Jumping to the sketch used to detect new mails in your post mailbox:

You don’t need to include any library for this sketch; you can simply flash the following sketch on your NodeMCU.

[https://github.com/formus14/Smart_mailbox/tree/master/Ultrasonic_HC_SR04_ESP8266]

You can monitor the results from the Serial monitor from the Arduino IDE.

Connect the sketch with Blynk app

This part consists of two parts: 1. Arduino sketch; and 2. Building a mobile app using Blynk.

Sketch

There is a lot going on in the sketch part. I will try to break it down into simpler steps.

Blynk is an app that can interact with most microcontrollers in the market right now by sending and receiving data from a mobile app and microcontroller.

  • Download and include Blynk library so we can use all Blynk functionalities.

[https://github.com/formus14/Smart_mailbox/tree/master/blynk-library-0.3.4]

  • Download and include Simple timer library to use time events.

[https://github.com/formus14/Smart_mailbox/tree/master/SimpleTimer-library]

  • If you’re using simple LCD, use virtual pins to send data to the mobile app. In this project, we’ll use normal digital or analog pins to send data from the app to the hardware.
  • If you’re using advanced LCD, simply create an object for the LCD as you see in the sketch.

Download all the sketches and libraries here: [https://github.com/formus14/Smart_mailbox]

smart home electronics

Blynk Mobile App

With Blynk, you can build interfaces by using widgets to control and monitor hardware projects from your iOS and/or Android devices. Blynk supports Arduino, Raspberry Pi, ESP8266, Particle Core, and other common microcontrollers.

There are other platforms that allow you to control hardware over the internet. For this project, however, we will use Blynk, which is very user-friendly.

A few things you should notice in the sketch:

  • char auth[] = ” “;

This line in the mailbox.ino sketch should be filled with your own auth token that you get when create your app.

Blynk.begin(auth, “WIFI Network”, “WIFI PASSWORD”);

For this line in the setup function, you should replace “WI-FI Network” by your own Wi-Fi network name. The same goes for “Wi-Fi PASSWORD”

In addition to Getting Started on Blynk, here is a step-by-step guide on how you can create your app with screenshots:

1)         After logging on with your account details, you will see this screen:

smart home electronics

2)         After pressing “Create New Project” enter your project title and choose “ESP8266” as your hardware model.

smart home electronics

smart home electronics

3)         It’s very important that you save the Auth Token since we will add it to our main sketch on ESP8266. You have an option to send it on the same email you are logged in with by simply pressing e-mail.

smart home electronics

4)         Once sending is done, you can click “Create” to complete creating your project. After creating your project, you will be ready to add widgets to your app.

smart home electronics

5)         Press add “+” from the top right corner of the screen. All widget boxes will be visible for you, then drag the LCD widget to your workspace.

smart home electronics

smart home electronics

6)         For our system, we only need LCD but enjoy playing around with all widgets available.

There are 2 ways to print on the LCD (Simple or Advanced). This tutorial introduces the advanced way.

smart home electronics

smart home electronics

7)         Press “O Screen” under COLORS to change LCD backlight; the same goes for “(T) Text” and text color.

Now you should connect the LCD to a virtual pin so it can communicate with ESP8266 over the Blynk server.

In the main sketch, I connected the LCD with Virtual pin 1.

smart home electronics

smart home electronics

smart home electronics

smart home electronics

8)         Now the app is ready to interact with your hardware system.

smart home electronics

9)         Upload the sketch to ESP8266 and run your app on Blynk.

If you don’t have any mail you will get this message on the LCD:

smart home electronics

If you did get mail in your mailbox, you will see this message on your screen instead:

smart home electronics

Now, you can save your time by checking your mailbox only when you receive mail.

smart home electronics

Rabindranath Andujar
Rabindranath Andujar
Rab holds PhD in Computational Physics and has been a dedicated researcher in the areas involving computing, automation and complex systems. Rab also has experience in electronics, robotics and digital manufacturing.

Check us out on Social Media

  • Facebook
  • Twitter

Recommended Posts

  • ESP8266 Setup Tutorial using ArduinoESP8266 Setup Tutorial using Arduino
  • ESP-WROOM-02 Wifi Setup Guide – AT CommandsESP-WROOM-02 Wifi Setup Guide – AT Commands
  • Arduino Bluetooth Gloves Part 1 – BasicsArduino Bluetooth Gloves Part 1 – Basics
  • Arduino Explorer Rover Part 2 – Electronics & WiringArduino Explorer Rover Part 2 – Electronics & Wiring
  • Using ESP-WROOM-02 Wifi Module As Arduino MCUUsing ESP-WROOM-02 Wifi Module As Arduino MCU
  • ESP-WROOM-02 Setup GuideESP-WROOM-02 Setup Guide
Receive update on new postsPrivacy Policy

Recommended Tutorials

  • How to integrate an RFID module with Raspberry Pi How to integrate an RFID module with Raspberry Pi
  • How to Use the NRF24l01+ Module with Arduino How to Use the NRF24l01+ Module with Arduino
  • How to Run Arduino Sketches on Raspberry Pi How to Run Arduino Sketches on Raspberry Pi
  • Setting Up Raspberry Pi as a Home Media Server Setting Up Raspberry Pi as a Home Media Server

Recommended Trends

  • SewBot Is Revolutionizing the Clothing Manufacturing Industry SewBot Is Revolutionizing the Clothing Manufacturing Industry
  • All About The Sumo Robot Competition And Technology All About The Sumo Robot Competition And Technology
  • 5 Interesting Tips to Calculating the Forward Kinematics of a Robot 5 Interesting Tips to Calculating the Forward Kinematics of a Robot
  • Go Inside the Drones That Are Changing Food Delivery Go Inside the Drones That Are Changing Food Delivery
Menu
  • Arduino –
    Arduino Beginner’s Guide
  • Raspberry Pi –
    Raspberry Pi Beginner's Guide
  • Trending –
    Updates on New Technologies
  • Others –
    Interviews / Events / Others

Check us out on Social Media

  • Facebook
  • Twitter
  • About
  • Company
  • Privacy Policy
  • Terms of Service
  • Contact
  • Japanese
  • 简体中文
  • 繁體中文
Don’t Forget to Follow Us!
© Copyright 2016-2023. Device Plus - Powered by ROHM
© 2023 Device Plus. All Rights Reserved. Muffin group

istanbul escort istanbul escort istanbul escort