Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Cara membuat situs web yang mengomunikasikan Arduino dengan menggunakan PHP

Komponen dan persediaan

Arduino UNO
× 1
Arduino Ethernet Shield 2
× 1
Sensor Suhu &Kelembaban DHT11 (4 pin)
× 1
Relai 2 Arah
× 4
Breadboard Mini
× 1
Sensor Api
× 1
Sensor Gas MQ4
× 1
LDR
× 1
Sensor Higrometer
× 3
Kabel Router ADSL
× 1
Plug (satu arah)
× 7
Socket (satu arah)
× 7
Baterai 9V
× 1
Kabel Barel Baterai 9V
× 1

Alat dan mesin yang diperlukan

Pistol lem panas (generik)

Aplikasi dan layanan online

Server HTTP Apache
Notepad++
Arduino IDE

Tentang proyek ini

Perbarui

Bagaimana cara menggunakan TheAmplituhedron.com untuk meningkatkan proyek IoT? adalah proyek baru saya yang menangani pemrograman sisi server untuk Anda. Dengan menggunakan TheAmplituhedron.com sebagai host, Anda dapat mengirim dan mendapatkan paket data dengan mudah melalui Internet.

Untuk mendukung proyek dan artikel saya, Anda dapat mengunjungi situs web saya di sini :)

Deskripsi

Membuat situs web profesional untuk mengontrol akuarium dan sistem irigasi saya di rumah dan

untuk menerima informasi tentang rumah ketika saya tidak di rumah adalah aspek utama dari proyek ini.

Untuk mencapai tujuan itu, saya membuat proyek Arduinautomotion yang mencakup 4 halaman HTML berbeda (Arduinautomotion.php, Arduinautomotioncontrol.php, Arduinautomotionformvalue.php, Arduinautomotioncommunication.php) di localhost Apache saya.

Selain itu, Arduino Ethernet Shield menghosting halaman web HTML lain (ArduinoSide.php) yang dapat dijangkau dengan alamat IPA yang dipilih, untuk berkomunikasi dengan situs web Arduinautomotion.

Saya telah memikirkan proyek ini karena saya harus pergi berlibur selama 2 minggu dan saya tidak dapat menyesuaikan akuarium saya karena itu. Terkadang saya perlu mematikan filter internal untuk menghindari peningkatan kadar oksigen di akuarium atau saya perlu membuka pengumpan untuk memberi makan ikan dari jarak jauh. Saya menambahkan enam opsi untuk mengontrol konten akuarium saya dan satu opsi untuk mengaktifkan sistem irigasi.

Selanjutnya, Anda dapat dengan mudah mendapatkan data tentang rumah (seperti nilai suhu dan kelembaban yang berasal dari Sensor DHT11 atau nilai gas metana di rumah yang berasal dari Sensor MQ4) dengan Arduinautomotion melalui Arduino Ethernet Shield.

Dengan demikian, situs web Arduinautomotion memiliki antarmuka yang mudah untuk mendapatkan dan mengirim data tentang rumah dari Arduino.

Pengetahuan bahasa HTML, CSS, JavaScript, PHP, dan jQuery akan diperlukan untuk memahami seluruh konten proyek sehingga ini hanya sebuah karya untuk proyek tetapi jika Anda mengetahui bahasanya, Anda dapat menemukan semua halaman web yang disertakan oleh proyek sebagai File kode PHP di bawah ini.

Catatan:Saya menggunakan Notepad++ untuk memprogram halaman web.

Cara mengirim dan mendapatkan data antara dua halaman web PHP

Saya menggunakan formulir HTML, Metode PHP, dan PHP $_SESSION [""] untuk mendapatkan dan mengirim data antar halaman web. Metode Get lebih mudah daripada Metode Post untuk digunakan untuk komunikasi tetapi Metode Posting lebih aman daripada Metode Get sehingga saya menggunakan Metode Post untuk berkomunikasi antar halaman web kecuali untuk halaman web ArduinoSide. Namun, Get Method adalah cara termudah untuk berkomunikasi dengan Arduino Ethernet Shield karena HTTP GET Request jauh lebih mudah daripada Post Request jadi saya menggunakan Get Method untuk halaman web ArduinoSide. Selain itu, PHP $_SESSION [""] adalah cara untuk menyimpan data secara permanen antara halaman web lebih dari dua.

https://www.w3schools.com/php/php_forms.asp

https://www.w3schools.com/php/php_sessions.asp

Cara mengatur situs web di Apache HTTP Server (Localhost)

Apache HTTP Server efisien untuk jenis hosting tersebut tetapi Anda dapat memilih XAMPP atau server hosting lain sebagai gantinya. Dalam kasus saya, AppServ>> www>> Arduinautomotion.php dan isinya. Saya menggunakan IPAddress saya sendiri ("192.168.1.20" mengacu pada Localhost) untuk mengakses halaman web, tetapi Anda harus menggunakan IPAddress Anda (sebagai http://yourIPAddress/Arduinautomotion.php).

http://editrocket.com/articles/php_apache_windows.html

Semua konten Arduinautomotion.php telah ditambahkan di bagian kustom di bawah ini.

Cara terhubung dengan Localhost Anda dari Perangkat Android

Windows berbeda dari MAC untuk pekerjaan ini tetapi tautan di bawah ini dapat membantu untuk Windows.

https://stackoverflow.com/questions/4779963/how-can-i-access-my-localhost-from-my-android-device

Setelah itu, pada jaringan Wİ-Fİ yang sama Anda dapat dengan mudah mengakses Arduinautomotion.php dengan alamat IPA Anda sendiri.

Cara mengakses Localhost Anda melalui Wi-Fi

Windows berbeda dari MAC untuk pekerjaan ini tetapi tautan di bawah ini dapat membantu untuk Windows.

Ini berfungsi dengan IPAddress eksternal Anda tetapi Anda yakin hanya Anda yang tahu IPAddress eksternal karena itu bisa menjadi cara berbahaya untuk menjadi tuan rumah.

https://stackoverflow.com/questions/5524116/accessing-localhost-xampp-from-another-computer-over-lan-network-how-to

Selain itu, Anda harus menggunakan penerusan porta untuk mengakses ArduinoSide.php dan berfungsi dengan alamat IP yang Anda pilih dalam kode ArduinoSide di bawah ini.

https://en.wikipedia.org/index.php?q=aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUG9ydF9mb3J3YXJkaW5n

Arduinautomotion.php

Ini adalah halaman utama untuk berkomunikasi dengan Arduino Ethernet Shield, Anda dapat memberikan perintah dari halaman ini ke Arduino dan mendapatkan data tentang rumah dari Arduino dengan mudah.

Menu Ubah menjelaskan situasi yang berubah dan menunjukkan bagian mana yang merupakan objek dan bagian mana yang merupakan sensor dengan mengubah warna bagian.

Dengan lingkaran yang berubah, ini menunjukkan nilai sensor dan situasi objek.

1) Bagian Kamar

Semua data tentang ruangan yang berasal dari Arduinautomotioncommunication.php akan ditampilkan di Bagian Kamar.

Sebelumnya:

Setelah:

2 )Bagian Akuarium

Kombinasi apa pun yang Anda pilih tentang bagian akuarium dengan Formulir HTML akan dikirim ke Arduinautomotionformvalue.php setelah itu akan kembali sebagai output dari Arduinautomotioncontrol.php ke Arduinautomotion.php.

Sebelumnya:

Setelah:

3) Bagian Tanaman

Nilai Sensor Hygrometer dapat diamati dan memulai sistem irigasi dapat dipertimbangkan melalui nilai. Sebagai Bagian Aquarium, data akan dikembalikan sebagai output dari Arduinautomotioncontrol.php ke Arduinautomotion.php.

Sebelumnya:

Setelah:

4) Bagian Panduan

Ini berisi halaman web Arduinautomotionformvalue.php untuk mengamati pilihan formulir lagi. Selain itu, ini mencakup beberapa instruksi proyek dan gambar yang menjelaskan proses komunikasi.

5 )Kotak Peringatan

Nilai mana pun yang berada dalam kisaran bahaya, Kotak Peringatan yang berisi file video Spider-man dan file audio ("Spider-sense is tingling") akan muncul saat halaman web Arduinautomotion.php dimuat ulang.

6) Bagian dari Arduinautomotion.php

Situs web yang dapat diubah ukurannya sebagai pedoman:

Seluruh lingkaran yang berubah:

Catatan kaki:

Arduinautomotioncontrol.php

Itu tertanam di halaman web Arduinautomotion.php untuk mendapatkan semua data sebagai $_SESSION [" "] dari Arduinautomotionformvalue.php dan Arduinautomotioncommunication.php.

Ini menyimpan data secara permanen melalui halaman PHP.

Arduinautomotionformvalue.php

Itu mendapat pilihan formulir dari Arduinautomotion.php dan mengirimkannya ArduinoSide dan Arduinautomotioncontrol.php. Itu tertanam di bagian Panduan halaman web Arduinautomotion.php tetapi juga dapat diakses dengan tab baru.

Arduinautomotioncommunication.php

Data yang berasal dari ArduinoSide disimpan oleh Arduinautomotioncommunication.php setelah itu mengirimkan data ke Arduinautomotioncontrol.php secara otomatis.

ArduinoSide

Ini di-host oleh Arduino Ethernet Shield melalui DNS dan Anda dapat mengaksesnya dengan alamat IPA yang Anda pilih dalam kode ArduinoSide di bawah ini (sebagai https://yourChosenIPAddress ).

Koneksi

Buat saja koneksi seperti yang dijelaskan dalam kode ArduinoSide dan gambar Fritzing di bawah ini. Sambungkan steker dan soket satu arah ke relai 2 arah dan rekatkan semua komponen ke dataran seperti papan gabus.

Arduino

Modul DHT11

Pin 2 -------------------------

Relai 2 Arah (1)

Pin 3 -------------------------

Pin 4 -------------------------

Relai 2 Arah (2)

Pin 5 -------------------------

Pin 6 -------------------------

Relai 2 Arah (3)

Pin 7 -------------------------

Pin 8 -------------------------

Relai 2 Arah (4)

Pin 9 -------------------------

Perisai Ethernet Arduino

Pin 10 --------------------------

Pin 11 --------------------------

Pin 12 --------------------------

Pin 13 ---------------

LDR

AO -----------------------

Sensor Api

A1 --------------------------

Sensor MQ4

A2 --------------------------

Modul Higrometer (1)

A3 --------------------------

Modul Higrometer (2)

A4 --------------------------

Modul Higrometer (3)

A5 --------------------------

Kode Arduino pada dasarnya mirip dengan kode WebServer yang ada di folder contoh library Ethernet.

Saya hanya menambahkan beberapa kode untuk mengontrol sensor dan menjalankan perintah yang berasal dari situs web Arduinautomotion.

Dan sambungkan Kabel ADSL dari Arduino Ethernet Shield ke Router.

Setelah kode Arduino dijalankan, situs web Arduinautomotion mengirim dan mendapatkan data dari Arduino melalui LAN melalui Wİ-Fİ.

Video Uji

Saya menguji proyek setelah itu saya menghubungkannya dengan akuarium saya dan sistem irigasi saya (pada dasarnya adalah motor air), proyek ini bekerja dengan baik. :) Ini adalah video uji proyek Arduinautoumotion. Saya mengeditnya dengan versi uji coba Filmora dan saya tidak menghapus tanda air karena menghormati pekerjaan mereka.

Komputer:

Android:

Kode

  • Arduinautomotion.php
  • Arduinautomotioncontrol.php
  • Arduinautomotionformvalue.php
  • Arduinautomotioncommunication.php
  • ArduinoSide_Code.ino
Arduinautomotion.phpPHP

Guidelines for managing to adjustments of the objects.

Please click the buttons and th e color bars to learn the info about colors.

ROOM

AQUARUM

PLANT

GUDE
Open FormValue In New Tab
  • When a form is sent to the FormValue page, form values are revealed in the iframe which named newsite in Guide.

  • Form values are the saved data which give Arduino an ability to determine the adjustments of the aquarium and the plants.

  • And all of the data go through the ArduinoSide page that is hosted by Arduino Ethernet Shield with the IP address you choose.

  • After that, the Communication button in the ArduinoSide page has to be pushed to open the Communication page and to change the $_Session values.

  • Lastly, the Arduinautomotion page has to refresh or the Reload button has to pushed to get the new data from Arduino.

  • If the information about the room is in the dangerous range, the homepage notifies you with a voice alert box which includes a Spider-man video and audio file that are in the www folder in Apache localhost furthermore the related information circle changes its colour to red.

PLANT
AQUARUM
...This file has been truncated, please download it to see its full contents.
Arduinautomotioncontrol.phpPHP
Arduinautomotion
Arduinautomotionformvalue.phpPHP
FormValue

Server has received the data from Arduinautomotion.

Airpump=


Lamp=


Feeding=


Heater=


Filterex=


Filterin=


Irrigation=


Arduinautomotioncommunication.phpPHP
Communication