Home Internet of Things - IoT ESP8266/ESP32 và Raspberry Pi LAMP Server – [Bài 2]: Cài đặt, chuẩn bị những cộng cụ cần thiết.

ESP8266/ESP32 và Raspberry Pi LAMP Server – [Bài 2]: Cài đặt, chuẩn bị những cộng cụ cần thiết.

by Khanh Tran

Ở phần trước mình đã trình bày về mô hình hoặt động của project. Nói một cách đơn giản, dự án được xây dựng trên cả thiết bị phần cứng là ESP8266/ESP32 Node MCU và kèm theo đó là phần server của dự án được tích hợp trên Raspberry Pi. Trong phần này, chúng ta cùng nhau cài đặt các công cụ cần thiết cho việc xây dựng một LAMP server và chương trình nhúng trên ESP8266.

1. Cài đăt hệ điều hành Raspbian cho Raspberry Pi.

Đây là hệ điều hành cơ bản, phổ biến nhất và do chính Raspberry Pi Foundation cung cấp. Nó cũng được hãng khuyến cáo sử dụng, nhất là cho người mới bắt đầu làm quen với RPI.

Hình 1: Hệ điều hành Raspbian

Chuẩn bị phần cứng:

Phần mềm cần thiết:

+ Format thẻ nhớ : Sử dụng phần mềm SD Formatter : SD Formatter

+Ghi file .img của hệ điều hành lên thẻ nhớ : Win32DiskImager

+ File hệ điều hành với version phù hợp với Model của Pi. Có thể lên trực tiếp trang chủ để dowload.

Hướng dẫn cài đặt:

Hướng dẫn cài đặt Raspbian cho Raspberry Pi

2. Cài đặt những công cụ cần thiết để xây dựng LAMP server.

Những công cụ cơ bản xây dựng nên web-server bao gồm Apache, Mysql và ngôn ngữ lập trình PHP. Đây đều là những công cụ/ngôn ngữ phổ biến nhất trong lĩnh xực xây dựng web.

a. Cài đặt PHP

PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình chủ yếu được dùng để phát triển các ứng dụng cho máy chủ. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến trên thế giới.

Cài đặt PHP và các module của PHP trên Pi :

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-mysql

Như thế là việc cài đặt PHP đã hoàn tất. Các bạn có thể chạy thử một chương trình php đơn giản dưới đây :

<?php 
    echo "Hello PHP";
?>

File được lưu với tên là “index.php”. Sau đó ta có thể chạy chương trình trên terminal:

php index.php

PHP dành cho web-server nên chắc hẳn nó có liên quan tới apache (có thẻ gọi là host server). Ta cần đưa file “index.php” vào thư mục “var/www/html”. Mở lại trình duyệt, nhập địa chỉ của Pi trên thanh URL, và kết quả “Hello PHP” sẽ hiện ra trên trình duyệt. Apache sẽ tự động nhận diện file có tên là “index” và thực hiện chạy file đó. Nếu các bạn đổi tên thì địa chỉ trên URL sẽ là “IP/file.php”.

b. Cài đặt Apache

Để cài đặt Apache trên Pi các bạn gõ lệnh sau :

sudo apt-get update && sudo apt-get upgrade # nên update trước khi cài đặt
sudo apt-get install apache2

Để kiểm tra lại việc cài đặt đúng chưa, các bạn mở trình duyệt cuả Pi lên và gõ “localhost”. Trên trình duyệt sẽ xuất hiện trang thông tin về apache. 

Hình 2: Hình ảnh apache hiển thị trên trình duyệt

Như vậy việc cài đặt đã hoàn tất. Vì là web-server nên các bạn cũng có thể truy cập từ bất cứ đâu trong mạng internet. Tuy nhiên hiện tại thì Pi chỉ có thể truy xuất qua mạng Lan thôi vì muốn truy xuất từ bên ngoài các bạn cần thực hiện thêm việc mở cổng trên Router mạng. Để kết nối từ máy tính của bạn tới web-server của PI, hãy mở trình duyệt trên máy tính lên và nhập địa chỉ Ip của Pi vào.

Địa chỉ apache được cài đặt trong Pi là “var/www”.

c. Cài đặt Mysql

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet.

Mysql sẽ kết hợp với Php để lưu trữ ứng dụng trên web của chúng ta. Ví dụ như các thông số về thiết bị được điều khiển, hay thông tin của các cảm biến. Việc sử dụng hệ quản trị liệu là rất cần thiết vì việc quản lý dữ liệu sẽ đơn giản hơn, giảm thiểu các sự cố do thiết bị gặp trục trặc hay mất điện, vì dữ liệu đươc lưu trên phần cứng của máy.

Cài đặt MySQL Server (MariaDB Server) và PHP-MySQL packages  bằng cách nhập lệnh sau: : 

pi@raspberrypi:/var/www/html $ sudo apt install mariadb-server php-mysql -y
pi@raspberrypi:/var/www/html $ sudo service apache2 restart

Sau khi cài đặt MySQL ( MariaDB Server ), bạn nên chạy lệnh này để bảo mật cài đặt MySQL của bạn:

pi@raspberrypi:/var/www/html $ sudo mysql_secure_installation

Trong quá trình cài đặt các bạn chú ý tới mật khẩu của tài khoản sử dụng “root”. Tài khoản “root” và mật khẩu sau này sẽ được dùng để kết nối tới cơ sở dữ liệu.

Như vậy chúng ta đã hoàn tất việc chuẩn bị những công cụ cần thiết để tạo lập một web-server. Tiếp theo chúng ta tiếp tục với phần hai trình bày cách tạo lập, cơ chế hoạt động của toàn bộ hệ thống bao gồm web-server và Master.

d. Cài đặt phpMyAdmin trên Raspberry Pi

phpMyAdmin là một công cụ miễn phí được viết bằng PHP, nhằm xử lý việc quản trị MySQL bằng giao diện web.

Để cài đặt phpMyAdmin trên Raspberry Pi, hãy nhập lệnh sau vào terminal :

pi@raspberrypi:/var/www/html $ sudo apt install phpmyadmin -y

Chương trình cài đặt PHPMyAdmin sẽ hỏi bạn vài câu hỏi. Chúng ta sẽ sử dụng dbconfig-common .

  • Chọn Apache2  và nhấn phím Enter
  • Configuring phpmyadminOK
  • Configure database for phpmyadmin with dbconfig-commonYes
  • Nhập mật khẩu của bạn và nhấn OK

Kích hoạt tiện ích mở rộng PHP MySQLi và khởi động lại Apache2 để các thay đổi có hiệu lực:

pi@raspberrypi:/var/www/html $ sudo phpenmod mysqli
pi@raspberrypi:/var/www/html $ sudo service apache2 restart

Khi truy cập your RPi IP address /phpmyadmin (trong trường hợp của tôi http://192.168.1.86/phpmyadmin ), bạn có thể sẽ thấy “Not Found” error trong trình duyệt của bạn:

Hình 3: Cài đặt phpMyAdmin trên Raspberry Pi

Nếu đúng như vậy, bạn sẽ phải chuyển thư mục phpmyadmin sang   /var/www/html  , chạy lệnh tiếp theo:

pi@raspberrypi:/var/www/html $ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Reload trang web của bạn (http://192.168.1.86/phpmyadmin), bạn sẽ thấy trang đăng nhập cho giao diện phpMyAdmin web:

Hình 4: Cài đặt phpMyAdmin trên Raspberry Pi

3. Cài đặt Arduino IDE để lập trình cho ESP8266/ESP32 và phần cứng cần thiết.

Yêu cầu:

  • 1 x ESP8266 v1(hoặc các bạn có thể chọn bất kì kit ESP8266 node MCU hay ESP 32 nào khác)
  • USB TTL (ví dụ PL2303 hoăc CP210x)
  • 1 x Arduino IDE bản mới nhất nhé ( các bạn có thể down ở đây)

Sau khi down bản mới nhất của Arduino IDE, các bạn tiến hành cài đặt như bình thường và mở chương trình

Hình 5: Giao diện Arduino IDE

Tiến hành cài đặt thư viện và chức năng nạp code từ IDE cho ESP 8266 mình làm như sau:

Vào File→ Preferences, vào textbox Additional Board Manager URLs thêm đường link sau vào 

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

Click OK để chấp nhận. 

Hình 6: Add thư viện cho Arduino IDE

Tiếp theo vào ToolBoardBoards Manager

Hình 7: Add thư viện cho Arduino IDE

Sau khi chương trình tự tìm kiếm. Ta kéo xuống và click vào ESP8266 by ESP8266 Community, click vào Install. Chờ phần mềm tự động download và cài đặt thư viện.

Hình 8: Add thư viện cho Arduino IDE

Chọn Board để lập trình cho ESP8266:

Kết nối mudule USB-to-UART vào máy tính. Vào ToolBoardGeneric ESP8266 Module, chọn cổng COM tương ứng với module USB-to-UART tương ứng.

Hình 9: Add thư viện cho Arduino IDE

Chọn chế độ nạp Arduino as ISP. Vậy là ta đã có môi trường lập trình cho esp8266 rất thân thiện.

Từ bài tiếp theo, chúng ta hãy cùng bắt đầu xây dựng project của mình nhé.

You may also like

Leave a Comment