Spurino: JavaScript dành cho vi điều khiển

Bộ vi điều khiển Atmel, Espurino

Bạn có thể đã từng nghe Spurine, vì dự án này đã được rửa tội với tên của một chính trị gia và nhà quân sự của Cộng hòa La Mã. Hoặc có thể bạn đã đến bài viết này để tìm kiếm thêm thông tin vì bạn đã biết nó và muốn bắt đầu sử dụng nó.

Có thể như vậy, tôi sẽ cố gắng cung cấp cho bạn những chiếc chìa khóa về Espurino là gì và nó có thể giúp gì cho bạn cho các dự án trong tương lai của bạn, cũng như một số khuyến nghị để tìm hiểu cách lập trình nó một cách đơn giản.

Một lúc trước chúng tôi đã nói với bạn về Anaconda, một dự án thú vị khác dành cho những người yêu thích Python, những người muốn lịch trình bảng arduino với ngôn ngữ lập trình đã trở nên quá phổ biến này. Một cái gì đó tương tự như những gì nó làm cuộc chạy bộ, nhưng lần này, với Espurino, nó mang đến cho bạn một cơ hội mới khác bằng cách sử dụng một ngôn ngữ khác ...

Espurino là gì?

Spurine

Spurine là một dự án mã nguồn mở để tạo trình thông dịch ngôn ngữ lập trình JavaScript cho vi điều khiển. Nghĩa là, IDE hoàn chỉnh này được thiết kế để có thể lập trình các thiết bị với bộ vi điều khiển có thể lập trình có bộ nhớ RAM nhỏ, chẳng hạn như một số chỉ có 8kB và được sử dụng rộng rãi trong nhiều thiết bị nhúng.

Dự án Espurino được tạo ra bởi Gordon Williams năm 2012, như một nỗ lực cho phép phát triển vi điều khiển trên nhiều nền tảng. Ban đầu nó không phải là mã nguồn mở, nó chỉ cung cấp bản tải xuống phần sụn miễn phí cho MCU STM32.

Trong năm 2013, dự án sẽ thực hiện một bước rất quan trọng, trở thành mã nguồn mở sau một chiến dịch tài trợ rất thành công trên nền tảng huy động vốn cộng đồng Kickstarter. Chiến dịch này đã vượt ra ngoài môi trường phát triển ban đầu, tìm kiếm nguồn vốn để sản xuất các bo mạch có thể hỗ trợ phần mềm này.

Phần mềm cơ sở của Espurino hiện đã được cấp phép theo Giấy phép Công cộng Mozilla 2.0, trong khi các mã mẫu theo Giấy phép MIT, tài liệu trong Creative Commons Attribution-ShareAlike 3.0 và cả các tệp thiết kế phần cứng theo Giấy phép sau.

Đây là cách Huy hiệu chính thức của Espurino, theo sau là nhiều bản phát hành của các phiên bản khác như đã xảy ra với các dự án tương tự khác như Arduino. Ngoài ra, các bo mạch này cũng có tính năng tương thích với các tấm chắn tương thích với Arduino, mang lại cho chúng một số khả năng thực sự thú vị cho các nhà sản xuất và thợ tự làm.

Hiện tại, dự án đã trở nên phổ biến, với một cộng đồng phát triển và vô số hướng dẫn và trợ giúp mà bạn có thể tìm thấy trên Internet. Do đó, nếu bạn thích JS và lập trình vi điều khiển, bạn chưa bao giờ có được điều đó dễ dàng đến thế ...

Mã nguồn dự án - GitHub

Trang web chính thức - Spurine

Chương trình cơ sở - Tải xuống (cho các tấm khác nhau)

JavaScript? Vi điều khiển?

Nếu bạn đã bắt đầu trong thế giới này, bạn có thể tự hỏi những điều khoản đó là gì hoặc những gì họ có thể đóng góp cho các dự án của bạn. Nếu bạn thường xuyên đọc chúng tôi, bạn sẽ biết vi điều khiển là gì và chắc chắn bạn cũng biết JavaScript hoặc JS.

Un vi điều khiểnCòn được gọi là MCU (Micro Controller Unit), nó là một chip lập trình có khả năng thực hiện các lệnh nhất định từ bộ nhớ. Điều này cũng có thể phù hợp với định nghĩa của CPU, nhưng trong trường hợp MCU, chúng thường kém tiên tiến và mạnh mẽ hơn, nhắm mục tiêu vào một số tác vụ cụ thể, chẳng hạn như thiết bị nhúng.

Ngoài ra, để sự khác biệt so với CPU, vi điều khiển là một mạch tích hợp bao gồm chính CPU, cũng như các khối chức năng khác như bộ nhớ và hệ thống I / O. Ý tôi là, về cơ bản nó là một chiếc máy tính hoàn chỉnh trên một con chip duy nhất ...

Do đó, bạn sẽ có một thiết bị rẻ và đơn giản mà bạn có thể lập trình để các đầu vào và đầu ra của nó hoạt động như bạn muốn và do đó tạo ra các hành động. Bạn có thể làm cho nó nhận thông tin từ các cảm biến hoặc bộ truyền động bên ngoài và dựa vào đó gửi các tín hiệu nhất định thông qua các đầu ra của nó cho những người khác Linh kiện điện tử nónctados.

Về JavaScript, nó là một ngôn ngữ thông dịch. Nói cách khác, không giống như những phần mềm được biên dịch mà sau khi biên dịch tạo ra một tệp nhị phân có thể được thực thi bởi CPU, trong trường hợp các tập lệnh được thông dịch, sẽ cần một phần mềm trung gian gọi là trình thông dịch, phần mềm này sẽ diễn giải các lệnh của mã để "nói" CPU là gì. nó phải làm gì.

JS Ngày nay nó trở nên rất quan trọng do có nhiều ứng dụng, đặc biệt là trong các ứng dụng web. Trên thực tế, ban đầu nó được phát triển bởi Brendan Eich của Netscape (sau đó là Mocha, sau đó được đổi tên thành LiveScript, và cuối cùng là JavaScript).

Sự phổ biến đó đã dẫn đến một số lượng lớn lập trình viên và người dùng quan tâm bằng JavaScript và các dự án như Espurino có thể đưa tất cả chúng đến gần hơn với việc lập trình vi điều khiển với nó.

Nhân tiện, cho bắt đầu với Espurino IDE, bạn sẽ không phải cài đặt bất kỳ thứ gì trong hệ điều hành của mình, đó là môi trường dựa trên web mà bạn có thể sử dụng từ ngay đây trong trình duyệt web yêu thích của bạn.

Mặc dù có thể sử dụng nhiều trình duyệt web khác nhau, nhưng để flash phần sụn của các bảng này, bạn nên sử dụng Chrome và một plugin có tên Espurino Web IDE được khuyến nghị từ trang web chính thức và bạn có thể tải xuống cho Chrome của mình tại liên kết này.

Làm thế nào để học JavaScript?

Nếu bạn vẫn chưa biết cách lập trình bằng JavaScript, bạn nên biết rằng, cũng như bất kỳ ngôn ngữ nào khác, có những cuốn sách dành cho học tập, các khóa học, video hướng dẫn và một lượng lớn tài nguyên để học miễn phí. Nhưng có một tài nguyên khác có lẽ ít được nói đến và điều đó đặc biệt thú vị để biến quá trình trò chơi hóa thành quy trình học JS.

Tôi đang đề cập đến các trò chơi video giúp bạn học lập trình với một số ngôn ngữ lập trình nhất định, bao gồm cả JS. Với những trò chơi này, thay vì sử dụng bàn phím hoặc chuột để điều hướng nhân vật hoặc tương tác với môi trường ảo, những gì bạn sẽ có là một thông dịch viên của ngôn ngữ này ở một bên của màn hình và nơi bạn sẽ bắt đầu nhập mã (bắt đầu bằng đơn giản nhất, thậm chí cao cấp nhất).

Bằng cách này, bạn sẽ điều khiển trò chơi bằng ngôn ngữ lập trình, vì vậy trong khi chơi trò chơi, bạn sẽ học gần như không nhận ra nó và khi bạn thăng tiến trong các nhiệm vụ, kiến ​​thức của bạn sẽ phát triển.

Nếu bạn quan tâm đến cách học này để bắt đầu với Espurino, tôi xin phép bạn một số tài nguyên để học JavaScript sử dụng trò chơi:

Đĩa Espurino chính thức

Tấm Spurine

Sau sự phát triển đầu tiên của cái đĩa Bản gốc của Espurino có nhiều dự án hơn có sẵn để sử dụng với IDE và JS. Nếu bạn muốn biết thêm về chúng, đây là phần giới thiệu về từng cái:

  • Espurino (bản gốc): nó là tấm ban đầu, tấm đầu tiên được thiết kế trong dự án này. Đặc điểm của chúng là:
    • STM32F103RCT6 32-bit 72Mhz ARM Cortex-M3 MCU
    • 256Kb bộ nhớ flash, 28Kb RAM
    • đầu nối microUSB, SD và đầu nối pin bên ngoài JST PHR-2
    • Đèn LED đỏ, xanh dương và xanh lục
    • Miếng đệm cho phép kết nối các mô-đun Bluetooth HC-05
    • 44 GPIO với 26 PWM, 16 ADC, 3 UARTS, 2 SPI, 2 I2C và 2 DAC.
    • Kích thước: 54x41mm
  • Đỉnh Spurino: là một bảng nhỏ có bộ vi điều khiển để bắt đầu chạy các dự án JavaScript của bạn và kiểm soát mọi thứ chỉ trong vài giây. Nó được lập trình thông qua giao diện USB để tải tập lệnh bạn viết về Espurino IDE. Ngoài ra, nó có một mức giá kinh tế và bạn có thể tìm thấy nó có ghim và không có ghim hàn trên đầu của nó. Thêm chi tiết:
      • 22 GPIO (9 đầu vào tương tự, 21 PWM, 2 nối tiếp, 3 SPI và 3 I2C).
      • Đầu nối USB-A trên bo mạch.
      • 2 đèn LED và 1 nút trên PCB.
      • STM32F401CDU6 32-bit 84Mhz ARM Cortex-M4 MCU
      • Bộ nhớ: 384 Kb flash và 96Kb RAM
      • Kích thước 33x15mm
  • Wi-Fi Spurino: Đây thực tế là một bảng song sinh so với bảng trước đó, chỉ có một số cải tiến đã được thêm vào. Ví dụ: kích thước của nó là 30x23mm, đang lớn dần để nhường chỗ cho chip WiFi ESP8266. Ngoài ra, USB đã được thay đổi thành microUSB, số lượng GPIO giảm xuống còn 21 (8 analog, 20 PWM, 1 serial, 3 SPI và 3 I2C). Mặt khác, bộ vi điều khiển cũng đã được tăng cường, bây giờ nó là STM32F411CEU6 32-bit 100Mhz ARM Cortex-M4 với 512kb bộ nhớ flash và 128 kb RAM.
  • Spurino Puck.js: Về cơ bản, nó là một nút thông minh Bluetooth mà bạn có thể lập trình nhờ vào bộ vi điều khiển bên trong và trình thông dịch (được cài đặt sẵn) với JS. Ngoài ra, nó còn có một chip ARM Cortex-M52832 nRF4 SoC 64Mhz với 64kB RAM và 512Kb flash, GPIO, thẻ NFC, từ kế MAG3110, bộ phát IR, nhiệt kế tích hợp, cũng như cảm biến ánh sáng và mức pin.
  • Spurino Pixl.js: Nó là một thiết bị tương tự như thiết bị trước đó, nhưng thay vì một nút, nó là một màn hình thông minh Bluetooth LE có thể lập trình. Màn hình của nó có kích thước 128 × 64 đơn sắc, trong khi các đặc điểm còn lại tương tự như Puck.js.
  • MDBT42Q: nó là mô-đun tương tự như Pixl.js và Puck.js, nhưng có ăng-ten gốm. Phần còn lại của các đặc tính kỹ thuật trùng khớp với hai phần trước, nhưng không có màn hình hoặc nút trong trường hợp này ...
  • bangle.js: nó là sản phẩm mới nhất. Nó là một chiếc đồng hồ đeo tay, một chiếc đồng hồ thông minh hoặc đồng hồ thông minh. Bạn sẽ có thể cài đặt ứng dụng và phát triển các chức năng mới bằng JavaScript hoặc ngôn ngữ lập trình đồ họa (Blockly). Bạn sẽ chỉ cần một trình duyệt web để có thể viết mã của mình và tải chúng lên đồng hồ… Ngoài ra, nó không thấm nước, có Bluetooth, GPS, gia tốc kế, từ kế (để định lượng cường độ và hướng của tín hiệu từ tính), v.v.

Nếu bạn cần mua một ít trong số những đĩa Espurino này, bạn có thể tìm thấy chúng trong cửa hàng trang web chính thức Từ dự án này. Bạn cũng có thể tìm thấy nó thông qua một loạt nhà phân phối các quan chức được giao cho dự án, chẳng hạn như một số cửa hàng tạp hóa nổi tiếng như Adafruit, v.v.


Hãy là người đầu tiên nhận xét

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.