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ả

Hướng dẫn toàn tập là LED ma trận giá tiền ảo và đồng bộ dữ liệu Internet - Học STEM IoT

Bất cứ chúng ta đều cần cập nhập thông tin, nào là tin tức đời sống, lượt xem youtube hay là tỉ giá ngoại tệ, tiền ảo,... Doanh nghiệp cũng cần cập nhật giá cho các sản phẩm tại các shop của họ. Các bạn không cần bỏ ra một núi tiền để nghiên cứu nữa. Hãy cùng làm theo bài viết này, và nó sẽ truyền cảm hứng cho bạn. Bài viết này, khác ở chỗ, nó không hoạt động độc lập một mỉnh lẻ loi mà nó có thể scale-out ra hàng ngàn thiết bị ngay tức khắc mà bạn không cần lo lắng gì về server cả!

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

"Độ hoàn toàn" một cổng Terminal RS-232 mà không sử dụng jack 3.5mm

Ở Việt Nam, việc một bạn học sinh mua một mạch Intel Galileo khá là khó. Trong đó, khó nhất là tiền để mua một mạch Intel Galileo, tuy nhiên, khi mua được mạch về, việc bạn có sử dụng hết chức năng của Intel Galileo hay không là một việc khác. Cái hay nhất, theo tớ nghĩ trên Intel Galileo, mà Arduino không có và bạn khó tiếp cận nhất đó là hệ điều hành Linux. Thực sự thì có nhiều cách để vào Linux của Intel Galileo. Tuy nhiên, nếu bạn muốn cài một hệ điều hành xịn như Debian để biến Intel Galileo trở thành một "máy tính" siêu "xịn" thì bạn buộc phải dùng tới cổng RS - 232. Nếu ở các trung tâm công nghệ lớn thì bạn có thể dễ dàng tìm mua các cổng "RS-232 to DB9" để dễ dàng làm theo các bài hướng dẫn trước. Tuy nhiên, không phải ai cũng may mắn như vậy, trong bài viết này, chúng ta sẽ tiếp cận với một cách khác mà tớ đã sử dụng để giải quyết bài toán không có cáp "RS-232 to DB9".

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