Cài đặt NodeJS trên Windows - mô hình môi trường IOT chuyên nghiệp

I. Giới thiệu

NodeJS là một hệ sinh thái Javascript mà ở đó bạn có thể lập trình nó như mọi ngôn ngữ lập trình nhúng như C++, python,... nó cũng có thể chạy đa nền tàng như Java vậy đó nhé. Nhưng luôn ghi nhớ Javascript và Java là khác nhau bạn nhé. Nodejs được xây dựng trên bộ Javascript engine V8 của Google. Mình sẽ không nói quá nhiều về chuyên môn trong bài viết này vì nó sẽ đi lệch định hướng của cộng đồng Arduino Việt Nam và cũng có rất nhiều cộng đồng NodeJS ở Việt Nam sẽ giúp bạn am tường hơn về NodeJS. Qua bài viết này, mình mong muốn bạn sẽ biết cách cài đặt NodeJS và giúp bạn thấy được tiềm năng IOT của nó.

II. Cài đặt

Để tải về Nodejs, bạn truy cập trang https://nodejs.org/en/ và tải về theo hướng dẫn. Mình khuyên các bạn nên dùng bản phần lớn người dùng lựa chọn (bôi đỏ). Khi dùng opensource bạn nên chấp nhận một thực tế là bản mới nhất chưa chắc là bản ổn định nhất devil.

Sau đó bật file .msi vừa tải về và Next liên tục thôi :)

Sau khi tải về, bạn mở Command line của nodejs lên và thử các lệnh sau đây, nếu nó trả về kết quả tương tự như hình dưới là bạn đã cài nodejs thành công rồi đấy.

node -v

npm -v

Để hiểu hơn về NodeJS, bạn cần phải tìm hiểu thêm về nó, sau đây, mình xin gửi một số địa chỉ mà mình nghĩ bạn có thể sử dụng trong quá trình học NodeJS

  • http://www.nodebeginner.org/index-vi.html - một trang giới thiệu và nodejs và các khái niệm cơ bản nên học
  • https://nodejs.org/api/index.html - Toàn bộ API của Nodejs (dùng để bí vô tra thôi chứ không phải để học nha, bạn chưa có kiến thức nền tảng mà vô đây học là tẩu hỏa nhập ma ngay đó devil)
  • http://techmaster.vn/posts/33448/nodejs-cho-nguoi-moi-bat-dau - Học NodeJs cần những gì
  • Vì mình bắt đầu với Nodejs khi đã khá rành về Javascript nên mình đề xuất các bạn học Javascript trước, để học javascript tốt, bạn nên dùng trang này http://www.w3schools.com/js/
  • Khi đã có kiến thức javascript rồi thì cái gì cũng dễ hết á, cứ theo API của nodejs ở các tài liệu tham khảo mình liệt kê ở trên là ổn. Nếu bí thì bạn cứ google từ khóa "nodejs + vấn đề" là ra thôi à.
  • Hệ sinh thái các thư viện nodejs là hệ sinh thái nguồn mở lớn nhất hành tinh vì vậy khi gặp vấn đề khó thì bạn có thể vô đây tìm https://www.npmjs.com/

III. Mô hình IOT với nodejs

NodeJS bản thân nó cũng khá mạnh trong việc lập trình nhúng khi chạy trên Intel Galileo hay Raspberry Pi. Tuy nhiên, chi phí để sở hữu một mạch Intel Galileo hay Raspberry Pi thật sự không phải là rẻ. Bên cạnh đó, mạch Arduino của chúng ta tuy rẻ và khá mạnh mẽ trong các ứng dụng đơn giản, nhưng để nó lên level Internet of Things thì bạn cần phải có nhiều mạch bổ trợ như Ethernet Shield hay ESP8266... Giữa một bên là lập trình bá đạo, đụng đến gần như mọi thứ ở NodeJS và một bên là chi phí siêu rẻ và hoạt động linh hoạt, đó chính là hai mặt của một vấn đề IOT. Vì vậy, để làm được IOT bạn phải giải quyết được vấn đề này, phải kết hợp cả 2 cái và dùng cả 2, dùng javascript trong giao tiếp với thế giới Internet vì khả năng mở rộng và sự linh hoạt thuần khiết, dùng Arduino để làm hệ thống cảm biến và thiết bị điều khiển thiết bị để giá thành cực rẻ và tập trung. 

Với kinh nghiệm của mình khi phát triển các hệ thống IOT đó là: hãy sử dụng mô hình micro service, vì mỗi phần trong hệ thống sẽ là một service, mỗi service sẽ có API riêng và chúng sẽ giao tiếp với nhau qua mạng. Từ mạng, ở đây không chỉ nói đến mạng Internet mà còn nói đến mạng cảm biến sử dụng sóng vô tuyến ở Arduino đấy bạn nhé.

Một số dự án IOT 

  • https://cylonjs.com/
  • https://ms-iot.github.io/content/en-US/win10/samples/Nodejs.htm
  • http://nodered.org/

IV. Tương lai IOT với Cộng đồng Arudino Việt Nam

Hiện tại mình đang xây dựng một mô hình mạng cảm biến cho Arduino với việc mở rộng node lên đến 50 node (tương lai là hàng vạn node - lý thuyết). Và để dùng được nó, bạn cần biết một ít về NodeJS để lập trình mạng cho hệ thống mạng cảm biến này heart. Đây sẽ là một dự án dài hơi mang tính cộng đồng nguồn mở dưới giấy phép GNU GPL v3.0. Sắp tới, mình rất mong nhận được sự hỗ trợ, đóng góp của các bạn devil.

lên
35 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

static - biến tĩnh

Biến tĩnh là biến sẽ được tạo ra duy nhất một lần khi gọi hàm lần đầu tiên và nó sẽ không bị xóa đi để tạo lại khi gọi lại hàm ấy. Đây là sự khác biệt giữa biến tĩnh và biến cục bộ.

lên
3 thành viên đã đánh giá bài viết này hữu ích.

Tài liệu kỹ thuật bỏ túi để lập trình Internet of Things - Vận hành, điều khiển và quản lý thiết bị qua Internet trong 1 nốt nhạc

Kính chào quý vị và các bạn!

Lập trình Internet of Things được biết đến là một thứ vô cùng khó khăn và phức tạp. Nơi này, trước đây không phải dành cho tất cả mọi người. Nhưng, để đưa Việt Nam trở thành một cường quốc về công nghệ cao và đi tắt đón đầu nhờ cuộc cách mạng công nghệ 4.0 thì bài toán Internet of Things phải được giải quyết bằng chính trí tuệ của tất cả mọi người. Cuối cùng, để giải quyết được đồ thị Đa dụng và Dễ sử dụng, iNut Node-red IDE đã ra đời, giải pháp cung cấp một phương pháp sáng tạo, cho phép người dùng lập trình ứng dụng IoT bằng những khối lệnh kéo thả với những ví dụ ngay trong app. Ngay cả một học sinh tiểu học học STEM cũng có thể làm được. Hãy cùng khám phá nhé!

lên
16 thành viên đã đánh giá bài viết này hữu ích.