Espruino Web IDE

1.Espruino Web IDE 常用
web IDE : https://www.espruino.com/ide/
github:https://github.com/espruino
官网:https://www.espruino.com/
教程:https://www.espruino.com/Quick+Start+Code
ESP32包github:https://github.com/espressif/esp-idf
参考:使用视频教程 https://www.zhihu.com/zvideo/1422871978810679296?utm_id=0
如果使用 ESP- IDF则参考: https://blog.51cto.com/u_16213698/10563184
ESP32刷espruino固件官方教程。https://www.espruino.com/ESP32
使用nodejs+espruino+espjs+(NodeMCU esp8266 cp2102开发板)+vue 实现简单的开关灯demo https://article.juejin.cn/post/7204121228017532989

准备3个文件: https://www.espruino.com/binaries/travis/master/espruino_2v23.32_esp32.tgz Espruino官网提供的。

bootloader // 从 ESP-IDF安装目录 components/bootloader/subproject/main 中找到
partitions_espruino // Espruino 的官方网站 https://www.espruino.com/ESP32 能找到 ( Travis cutting-edge builds. 或 您可以从Travis 最新构建)点击这个链接 找到组合的压缩包
espruino_esp32 // Espruino 官网下载固件
首次需要刷入3个文件,第二次升级等操作只需刷入espruino_esp32即可

自己编译则: mac 如果自己编译固件则先安装这些 (一般不需要 ,可跳过)
brew install flex bison gperf // pip
brew install cmake // pip
brew install ninja // pip
brew install ccache // pip
brew install dfu-util // pip
brew install libusb // pip
brew install gcc // pip
pip install esptool
2.实际操作
https://www.espruino.com/Download
在这个下载2v23新固件
然后cd 到 /Users/wanghao/Documents/8.embedded_project/esp/espruino_2v23/espruino_2v23_esp32

看端口号
ls /dev/tty.*
/dev/tty.BLTH /dev/tty.usbmodem585A0957641
/dev/tty.Bluetooth-Incoming-Port /dev/tty.wchusbserial585A0957641

ls /dev/tty.* Get-WmiObject -Class Win32_SerialPort
擦除开发板上的现有固件
python -m esptool --port /dev/tty.wchusbserial585A0957641 erase_flash
win
python esptool.py --port COM1 erase_flash
刷入新固件
python -m esptool
–port “/dev/tty.wchusbserial585A0957641”
–baud 460800
write_flash
-z
–flash_mode “dio”
–flash_freq “80m”
–force
0x1000 bootloader.bin
0x10000 espruino_esp32.bin
0x8000 partitions_espruino.bin

//win
python esptool.py --port COM1 --baud 460800 write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect E:\project\embedded_project\tools\bootloader.bin E:\project\embedded_project\tools\partitions_espruino.bin E:\project\embedded_project\tools\espruino_esp32.bin


升级 
python esptool.py --port COM1 --baud 460800 write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x10000 E:\project\embedded_project\tools\espruino_2v23_esp32.bin

screen /dev/tty.wchusbserial585A0957641 115200 查看端口输出状态

You have pre-1v96 firmware. Upload size is limited by available RAM
Prompt not detected - upload failed. Trying to recover…
mac烧录工具; NodeMCU PyFlasher https://github.com/marcelstoer/nodemcu-pyflasher/releases/tag/v5.0.0
esp32链接驱动下载 CH34 https://www.wch.cn/downloads/CH34XSER_MAC_ZIP.html
CP210X https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
用USB连接线连接电脑和开发板
原文链接:https://blog.csdn.net/huyuyang6688/article/details/124059185
https://www.wch.cn/downloads/CH343SER_EXE.html
0x00 \v23\bootloader.bin
0x10 \v23\espruino_esp32.bin
0x80 \v23\partitions_espruino.bin

                       flash_download_tool     
                               下载地址:https://www.espressif.com/zh-hans/support/download/other-tools?keys=&field_type_tid%5B%5D=14 
   使用  参考:   https://blog.csdn.net/weixin_42255190/article/details/115461297

3.控制舵机操作例子
1.旋转
function servo_180(pin,angle){
const obj={
0:0.5,
45:1,
90:1.5,
135:2,
180:2.5
};
if(obj[angle]){
analogWrite(pin,obj[angle]/50.0,{freq:20});
}

}

servo_180(D23,180);

2.调接口随机旋转

var wifi = require(‘Wifi’);
var http = require(‘http’);

var ssid = ‘中国人民银行’;
var password = ‘wha16666wha15555’;

// 定义舵机针脚号和角度
var pin = D23;
var LEFT_ANGLE = 0;
var RIGHT_ANGLE = 180;

// 定义轮询时间间隔(以毫秒为单位)
var INTERVAL_MS = 5000;

var timerId = null; // 保存定时器 ID 的变量

wifi.connect(ssid, {password: password}, function(err) {
if (err) {
console.log(err);
return;
}
console.log(‘Connected to WiFi’);

// 启动定时器
timerId = setInterval(function() {
// 发送 HTTP GET 请求
http.get(‘http://www.baidu.com’, function(res) {
res.on(‘data’, function(data) {
//var status = parseInt(data);
var status=getRandomInt(1, 10)%3;
// 根据返回值控制舵机旋转
if (status === 1) {
servo_rotate(pin, LEFT_ANGLE);
} else if (status === 2) {
servo_rotate(pin, RIGHT_ANGLE);
} else {
servo_stop(pin);
}
});
}).on(‘error’, function(err) {
console.log(‘Error on HTTP request:’, err);
});
}, INTERVAL_MS);
});
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function servo_180(pin, angle) {
const obj = {
0: 0.5,
45: 1,
90: 1.5,
135: 2,
180: 2.5
};
if (obj[angle]) {
analogWrite(pin, obj[angle] / 50.0, {freq: 20});
}
}

function servo_rotate(pin, angle) {
servo_180(pin, angle);
}

function servo_stop(pin) {
servo_180(pin, 90); // 停止旋转
}

function clearTimer() {
clearInterval(timerId);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值