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

Xe điều khiển bằng tay game Dual Shock3 thông qua Bluetooth

Vừa bắt đầu với arduino được hơn 1 tuần, có tham khảo qua các nguồn từ "trung ương đến địa phương", nắm được 1 số kiến thức cơ bản nên mình bắt đầu thực hiện 1 sản phẩm để đúc kết kinh nghiệm. Trong số đó thì xe điều khiển là dễ nhất. Kết hợp với cái tay game ps3 nằm lăn lóc ở góc nhà. Thế là có 1 chiếc xe điều khiển từ xa. Bắt đầu nhé.

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

Làm xe điều khiển từ xa bằng Bluetooth - Điều khiển bằng Android với App Inventor

Mình rất thích điện tử nhưng không học về ngành điện tử. Rất may là có Adruino, rồi có cộng đồng Adruino Việt Nam, đặc biệt là sự nhiệt tình của tất cả các bạn trong cộng đồng, mình đã làm được 1 chiếc xe điều khiển từ xa. Cho con chơi là lí do phụ thôi, còn tìm hiểu, học tập là chính. Hôm nay chia sẻ cùng các bạn, cùng gửi lời cảm ơn đến tất cả các bạn trong cộng đồng. Có bạn thì giúp đỡ trực tiếp, có bạn thì viết bài, rồi có bạn thì bình luận, nêu câu hỏi. Tất cả đều có giá trị đối với mình.

Ngại viết bài nên mình đăng dưới dạng ảnh.

lên
26 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Arduino Nano - Nhỏ, tiện lợi, mang trên mình tinh hoa của Arduino Uno

Điều đầu tiên tớ muốn chia sẻ với các bạn khi tiếp xúc với Arduino Nano, đó là sự tiện dụng, đơn giản, có thể lập trình trực tiếp bằng máy tính (như Arduino Uno R3) và đặc biệt hơn cả đó là kích thước của nó. Kích thước của Arduino Nano cực kì nhỏ chỉ tương đương đồng 2 nghìn gấp lại 2 lần thôi, rất thích hợp cho các newbie, vì giá rẻ hơn Arduino Uno nhưng dùng được tất cả các thư việt của mạch này. Hôm nay, tớ viết bài này nhằm mục đích giới thiệu về mạch Arduino Nano và các thông số kĩ thuật, cùng với đó là những gợi ý ứng dụng khi bắt đầu với mạch này.

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

CCA - Kết quả vòng 2 - Lịch trình gửi board cho vòng 3

Sau khi chỉnh sửa ý tưởng, đã có nhiều đội thi thể hiện sự quyết tâm làm dự án đến cùng của mình. BTC rất khó để lựa chọn ra những đội nào sẽ nhận được board từ Quỹ Cộng đồng Arduino Việt Nam. Vì vậy, ngoài 5 nhóm sẽ nhận được bộ starter kit, BTC quyết định sẽ có 2 bạn (đã hoàn thành dự án) tham gia tranh tài để nhận giải thưởng đặc biệt từ Cộng đồng.

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