头像-163731

xukejing

  • 13204
  • 单片机
  • 航空航天

个人成就

获得 501 次赞

帮助过660人

windows CE为什么没有成为物联网操作系统

在物联网概念还没出现以前,曾经有个系统,它确确实实地在做物联网的活儿,windows CE。它可以通过串口、网口甚至wifi实现远程操作或者监控各种工业设备。甚至是控制厨师(win CE点菜机,2009年左右还有,后来被安卓替代了)。本来是个挺好的系统,可以用MFC编程,有各种网络、串口和窗口的输入输出控件,开发程序很便利的;原来以为它会成为ARM界最常用的系统,我做硕士毕设时候,还特地为wince设备做了个兼容的udp的接口。后来发现,我这不靠谱的业余级的无证程序员果然预事不准,winCE黄了。。。。。

esp8266的2号端口接ds18b20

esp8266的2号端口在启动过程中是要保持高电平的。esp8266已经启动以后,2号端口可以当正常的io来用,比如接个三极管控制继电器;但是,如果启动过程中也接着3级管,把io的电平拉低了,那就不好说了。我实验过,当2号端口接着单总线ds18b20,esp8266可以正常启动。但是,并不清楚为什么ds18b20不会在esp8266启动时候把电平拉低,所以来问问大家。

大伙儿帮我看看,这个应用是否有价值移植到荔枝派nano上

我有个3D打印机控制软件,名字叫octoprint,有过成功移植到256MB内存的友善之臂NEO上的经验。最近逛淘宝发现了一个9块9的创客神器,名字叫荔枝派nano。只有SD卡大小,可以跑linux,并且接口资源丰富。所以,我有个小小的想法,把octoprint移植到荔枝派nano上。我们把荔枝派nano跑octoprint的优缺点列举一下。优点1 体积远小于​友善之臂NEO,想塞哪儿就塞哪儿,位置布置上更自由。2 功耗远小于4核A7的友善之臂NEO,因此不再需要独立的5V2A电源了,可以直接从打印机的串口取电。3 发热远小于友善之臂NEO,集成在3D打印机内部时不再需要12V风扇对着CPU狠狠吹了。缺点1 octoprint这个进程在正常使用时候大约要占用54MB左右的内存。如果放在荔枝派nano上跑的话,肯定是要开启虚拟内存了,因此对TF卡的压力较大。  当然,对于极客应用,成本和使用寿命并不是最在乎的,怎么花里胡哨地折腾才是重点。。。。那么问题来了,把octoprint移植到荔枝派nano上,这个工作是否有意义?

给函数的形参赋值,两种写法,效率是否一样

假定个简单的数组,做个例子,就短一点吧int b[2] = {0,0}; 如果想要在一个函数里对这个数组的两个元素赋值1和2,大概可以想到两种写法void aaa(int *a) { *a = 1; *(a+1) = 2; } void aaaa(int &a) { a = 1; *(&a + 1) = 2; } 然后只要aaa(b);或aaaa(b[0]);就可以给数组赋值了。  那么问题来了,这两种写法,执行效率哪个高

小伙伴们给推荐一些程序,测试一下S5P6818的GPU

最近获得了NanoPC T3 Plus的试用资格,在使用板子开发前,我们先试试跑点demo测试一下板子。CPU已经测试了,也发了一些帖子。但是Mali400MP4 4核GPU还没测。1080P的H264视频硬解应该是没问题的,但是linux下做游戏测试的报告还是比较少的。我试过在NanoPC上编译PSP模拟器,但是因为各种库缺的比较多,尽力把各种库编译安装修补了一天也没补全。所以,请大伙儿给推荐几款方便点的,能直接用apt-get安装的游戏。

microPython的小问题,webrepl断开时会死机

硬件是esp8266。microPython固件是20171101稳定版。esp8266开启了无线AP,笔记本连接这个AP后,使用webrepl可以在线调试。发现一个小问题,调试完以后,笔记本断开,会发现esp8266同时也死机了,需要按reset键重启才能恢复。模块上的程序代码大概是如下这样的。贴出来的代码稍微做了简写,控制部分简化了一下,但是保留了原来的框架。主要是引用了ds3231时钟芯片、ds18x20数字温度传感器和ssd1306 OLED的库,然后做了些控制。import machine import time from ds3231 import DS3231 import ssd1306 import onewire, ds18x20 from machine import ADC, Pin import gc S1=Pin(14,Pin.OUT,value=1) S2=Pin(12,Pin.OUT,value=1) S3=Pin(13,Pin.OUT,value=1) S4=Pin(16,Pin.OUT,value=1) set_temp=26.00 main_pump_on=27000 main_pump_off=72000 O3_on=61200 O3_off=61210 light_on=25200 light_off=72000 def main(): S1on=0 S2on=0 S3on=0 S4on=0 tem=0.00 sec_in_day=0 i2c = machine.I2C(-1, machine.Pin(5), machine.Pin(4)) oled = ssd1306.SSD1306_I2C(128, 64, i2c) ds3231=DS3231() t=[0,0,0] dat = machine.Pin(2) ds = ds18x20.DS18X20(onewire.OneWire(dat)) roms = ds.scan() while True: ds.convert_temp() time.sleep_ms(750) for rom in roms: tem=ds.read_temp(rom) if set_temp<tem: S1on=0 S1.value(1) elif (set_temp-tem)>0.5: S1on=1 S1.value(0) d=ds3231.DATE() t=ds3231.TIME() sec_in_day=t[0]*3600+t[1]*60+t[2] if sec_in_day>main_pump_on and sec_in_day<main_pump_off: S2on=1 S2.value(0) else: S2on=0 S2.value(1) if sec_in_day>O3_on and sec_in_day<O3_off: S3on=1 S3.value(0) else: S3on=0 S3.value(1) if sec_in_day>light_on and sec_in_day<light_off: S4on=1 S4.value(0) else: S4on=0 S4.value(1) t_o="Time: %02d:%02d:%02d"%(t[0],t[1],t[2]) d_o="Date: 20%02d/%02d/%02d"%(d[0],d[1],d[2]) tem_o="T_water: %02.2f"%tem if S1on==1: power_o="Heating:on " else: power_o="Heating:off" if S2on==1: pump_o="Pump:on " else: pump_o="Pump:off" if S3on==1: o3_o="o3:on " else: o3_o="o3:off" if S4on==1: light_o="Lighting:on " else: light_o="Lighting:off" line1="%s %s %s %s %s %s %s"%(d_o,t_o,tem_o,power_o,pump_o,o3_o,light_o) print(line1) print(gc.mem_free()) oled.fill(0) oled.text(d_o, 0, 0) oled.text(t_o, 0, 10) oled.text(tem_o, 0, 20) oled.text(power_o, 0, 30) oled.text(pump_o, 0, 40) oled.text(o3_o, 80, 40) oled.text(light_o, 0, 50) oled.show() time.sleep_ms(250)

【视频问题】说说大家每天来云汉,为了娱乐,还是为了知识

这是个视频帖,也许后期还能上传视频大家一起唠唠。欢迎论坛的新老用户,还有问答区、qq试用群里的活跃份子们都来踊跃参加。  老徐先恬不知耻地自问自答一下:为了板子。。。。大家看,多淳朴的需求啊,果然是个工科死宅。  所以,大伙儿来一起说说总体上,云汉社区最吸引你的原因另外,社区满足了您那些需求?答案字数不限,可以贴图贴表情包

【视频问题】聊聊开发板的失败案例

以铜为鉴,可以正衣冠,以人为鉴,可以知得失,以史为鉴,可以知兴替。有段时间物联网泡沫四起,以致硬件巨头英特尔CEO Brian Krzanich都看走了眼;以致点歪了科技树,自信满满地推出了Quark系列芯片。还花大力气开发了爱迪生、伽利略、焦耳和居里等SOC模块。。。然而直到去年才发现这是一个深坑。。。。为了防止物联网SOC项目把英特尔坑成二流企业,不得不壮士断腕般砍掉了该项目。我们智造大国的开发板也有好多由于定位、方向不明确而半途而废或胎死腹中的。为了防止后人重蹈覆辙,一起来聊聊那些失败的案例吧。