1154|1

2870

帖子

4

TA的资源

五彩晶圆(中级)

楼主
 

微软TypeScript编写设备控制程序 [复制链接]

微软TypeScript是一种脚本编程语言,其主要的应用是在WEB应用领域,TypeScript(下称:TS)主要是改进了JavaScript的语法特性(注:JavaScript脚本和Java没有任何关系,语法上基本没有什么相似性,但是在初学的时候这个名称带来了很大的困惑,Javascript可以嵌入网页中直接操控HTML DOM),增加了类型的限制和面向对象的继承特性,TS编写的程序可以编译成WebAssembly字节码运行,也可以转换成Javascript语句运行,TS的语法相当的灵活而且超越了JavaScript,这次微软推出的嵌入版TS很可能是一次嵌入式编程的新赛道,这种脚本式的开发相似的不少,最早有8051下的Basic语言,还有近来的python,当然也有Javascript...但是要我比较还是看好TS,TS具有以上这些语言系统无法比拟的优势。

但是这种开发方式也有巨大的缺点:就是灵活性较差,需要芯片厂家或嵌入式厂家的BSP支持,就像Arduino一样需要许多人写驱动才能运行,往往嵌入式的项目外设太过复杂,所以Arduino也只是在一些原型什么的领域应用,实际的项目很少。所以这种方式能够走多远还是未知数。

 目前微软的项目支持ESP和RP2040两个系列的硬件,我手头就有一块ESP32C3板子,就对DeviceScript做一下探索。

1、下载大火的开发工具VSCode和Nodejs,乐鑫的设备还要配置好ESP-IDF,怎么安装非常的简单,我是直接解压,配置一下PATH就可以了,两个都是。如果是安装包那就一路next

2、打开VSCode,安装DeviceScript扩展,这个也是简单的很。

 

3、“Creating a new project”创建一个新项目

 找到DeviceScript: Create New Project... 

 选择一个目录

这一步是自动的,但是在国内一切皆有可能,如果失败需要更换NPM源,我的是阿里的。

打开项目目录,src下的main.ts,就是主程序

   如果你没有硬件也没关系,可以模拟。

  启动后就可以调试了

 点击模拟图标还可以选择设备

 点击设备还可以使用具体的设备,例如:bottom这时点击按钮就和真实的按钮一样。

 如果你有一款物理设备有怎么用呢,这有点麻烦,首先是烧写flash固件,选择对应的命令就可以,注意需要安装pip等python工具。这个不知道是不是EPS32特有的要求

 这个过程时常的失败,就像从github上git clone东西一样

 多多试上几次,没准就成功了,就像我一样。

 就像这里,看到链接到的设备就是成功了。那么点个灯吧!程序如下

import { pins } from "@dsboard/adafruit_qt_py_c3"
import { startLightBulb } from "@devicescript/servers"

const lightBulb = startLightBulb({
    pin: pins.A0,
})

setInterval(async () => {
    await lightBulb.toggle()
}, 500)

 可以看到模拟设备上的灯在闪,设备没有啥动静,这是为什么呀,下面我就来让设备的灯闪亮。

看到这个图标了吗,点一下,connect...

 在选择串口设备,我的是COM8,115200   如果成功,可以看到设备的信息,参考这个代码,进行配置

{
    "$schema": "https://raw.githubusercontent.com/microsoft/devicescript-esp32/main/boards/esp32deviceconfig.schema.json",
    "id": "seeed_xiao_esp32c3",
    "devName": "Seeed Studio XIAO ESP32C3",
    "productId": "0x3eff6b51",
    "$description": "A tiny ESP32-C3 board.",
    "archId": "esp32c3",
    "url": "https://www.seeedstudio.com/Seeed-XIAO-ESP32C3-p-5431.html",
    "$services": [
        {
            "name": "buttonBOOT",
            "pin": 9,
            "service": "button"
        }
    ],
    "pins": {
        "@D9": 9,
        "D0": 2,
        "D1": 3,
        "D10": 10,
        "D2": 4,
        "D3": 5,
        "D4": 6,
        "D5": 7,
        "D7": 20,
        "D8": 8
    },
    "uartLog": true
}

我然后就是下载程序到设备,然后连接到设备,debug,运行可以看到灯闪了!

 

此帖出自编程基础论坛

最新回复

现在改名为 devicescript 了。   详情 回复 发表于 2023-6-14 16:13
点赞 关注
 

回复
举报

1万

帖子

25

TA的资源

版主

沙发
 

现在改名为 devicescript 了。

此帖出自编程基础论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表