Thursday, 27 May 2021

[IoT][Vi][ Lập Trình trực quan cho IoT]

Bạn cần xây dựng một ứng dụng trên thiết IoT ? Với  lập trình trực quan ( hay lập trình kéo thả)  sẽ giúp bạn dễ dàng làm điều ấy mà không yêu cầu bạn biết bất cứ ngôn ngữ lập trình nào mà chỉ cần biết  bạn muốn làm cái gì .

Ví dụ 1: Bạn muốn bóng đèn ở văn phòng sẽ tắt từ lúc 19h tối tới 7h sáng  và từ thứ hai đến thứ sau.  Hai ngày cuối tuần bóng đèn sẽ tắt ? 

Ví dụ 2:  Bạn muốn nhận thông báo tới hộp thư điện tử khi có ai mở cửa ?

Ví dụ 3: Bạn muốn bật quạt  trong nhà khi nhiệt độ lớn hơn 27 độ C? . 


Bên dưới là bảng nội dung chi tiết cách sử dụng Lập trình trực quan  ( Visual programing)

Bảng nội dung

1  Lập trình trực quan

   1.1 Giới thiệu

   1.2 Ngôn ngữ hỗ trợ

2  Nếu thì và toán tử quan hệ

3  Các thành phần hỗ trợ

   Logic

   Biến

   Cảm biến

   Thời gian

   Tin nhắn hay thư điện tử

   Công tắt hay còi báo

   Internet

4. Ví dụ  and video

5. Tham khảo

======================================


1  Lập trình trực quan

1.1 Giới thiệu  

Cơ bản ngôn ngữ  lập trình cũng giống như  ngôn ngữ giao tiếp hằng ngày chúng ta, chỉ có cách thực hiện là khác nhau do ngôn ngữ lập trình là để máy hiểu. Chúng ta có nhiều ngôn ngữ lập trình khác nhau như Python, C++, Java, Javascript .. tùy vào ứng dụng mà chúng ta lựa  chọn cái nào thích hợp nhất.

Chúng ta có một ví dụ từ ngôn ngữ giao hằng ngày sang ngôn ngữ lập trình giống như bên dưới cho "Nếu... thì.." ( if else)

Ngôn ngữ giao tiếp

                    Nếu thấy một cô gái đẹp thì bạn nghĩ hôm nay là sẽ "Ngày đẹp trời".  😃

Trong lập trình Python 


 Trong lập trình C++


Tuy nhiên trong cuộc sống chúng ta đôi khi phức tạp  hơn một tí cho "Nếu... thì.." như bên dưới   

Ngôn ngữ giao tiếp

                    Nếu thấy một cô gái đẹp thông minh thì bạn nghĩ hôm nay sẽ là "Ngày đẹp trời"😃

Trong lập trình Python 


 Trong lập trình C++


Qua hai ví dụ trên chúng ta thấy rằng việc học ngôn ngữ lập trình là tương đối dễ phải không ? ...Chắc cũng đơn giản thôi.  Vậy ngôn ngữ lập trình trực quan là gì ?  Lập trình trực quan là một ngôn ngữ lâp trình nhưng gần giống với  ngôn ngữ giao tiếp hằng ngày chúng ta nhất và dễ dàng sử dụng hơn thông qua các khối kéo thả.



Với lập trình trực quan chúng ta có thể tạo ứng dụng nhanh chóng và ứng dụng  luôn  trong thực tế. Chắc trong chúng ta ai đó đã từng nghe phương pháp giáo dục STEM(Science- Technology- Engineering- Mathematics), Với lập trình trực quan cũng có thể giúp bạn học sinh tiểu học hay cấp hai dễ dàng  tiếp xúc với  ngôn ngữ lập trình từ nhỏ để phát triển tư duy, trước khi học chuyên sâu về các ngôn ngữ lập trình C, C++, Java để phát triển các hệ thống ứng dụng lớn  hơn.

 1.2 Ngôn ngữ hỗ trợ
   Hiện tại chúng tôi đã hỗ trợ tiếng việt và tiếng anh, các ngôn ngữ tiếng thái, hàn, nhật.. hiện tại là tiếng anh, chúng tôi sẽ hỗ chuyển đổi sang cho chính xac

2   Nếu thì và toán tử quan hệ

  Từ các ví dụ trên, Lập trình trực quan có thể hỗ trợ  "Nếu .. thì ..." hoặc " Nếu ..thì .. còn không ..."

"Nếu .. thì ..."

Nếu hôm nay là thứ hai thì chúng ta sẽ đi làm 

 " Nếu ..thì .. còn không ..."

Nếu hôm nay là thứ hai thì chúng ta sẽ đi làm còn không đi uống cafe

Thực tế thì lập trình trực quan có thể cung cấp  nhiều điều kiện phức tạp lồng vào nhau



3   Các thành phần hỗ trợ

  Logic

  Biến

  Cảm biến

  Thời gian

  Tin nhắn hay  thư điện tử

  Công tắc hay còi báo


      Sử dụng thành phần bên dưới để  bật hay tắt  công tắt , Cảm biển hay còi báo ...


   Sử dụng thành phần bên dưới để  biết khi trạng thái công tắt bị thay đổi từ bật sang tắt hoặc từ tắt sang bật

    Sử dụng thành phần bên dưới để  biết khi trạng thái hiện tại của công tắt, cảm biến đang bật hay tắt

Internet 


4. Ví dụ and video

Ví dụ

Có nhiều ví dụ đã được lập trình sẵn và có thể tham khảo tại   https://github.com/letrthong/visual_programing_iot 

  Cách sử dụng tập tin cài đặt  *.vpl ( vpl = Visual progamming language) ở 07_for online_or_offline

      Bước 1: Tới https://github.com/letrthong/visual_programing_iot/tree/main/07_online_or_offline

      Bước 2: Tải tập tin 01_VisualProgramming.vpl

      Bước 3: Tải tập tin lên thiết bị thật của bạn

      Bước 4: Kiểm tra  giao điện để đảm bảo tập tin này đã cập nhập thành công trên thiết bị

Video

   - https://www.youtube.com/watch?v=Zc1nbESJ6EM

5. Tham khảo

  - https://www.liysf.org.uk/blog/what-is-stem-education

  - https://developers.google.com/blockly


6.   Cây quyết định

        


Naive Bayes Classifiers
7.  IOT cho chuẩn công nghiệp

PLC (Programmable Logic Controller ) là Thiết bị điều khiển cho phép người dùng lập trình

SCADA (Supervisory control and data acquisition)  
MES (Manufacturing execution system)

-> Tiếp tục với AIoT 

No comments:

Post a Comment