先随便写写一些思路, 以后再整理.

这段时间笔者做了一些硬件开发, 领悟了一些事情.

1 - 在常规创客的角度上, 硬件开发所需的知识面比较广, 非常广, 但不算太深.

2 - 发现硬件开发由于其特殊环境的原因, 开发难度很大, 难度绝大部分来源于很麻烦, 效率很低.

一般的开发者, 如果他们入门就直接学硬件, 他们是感觉不到这问题的.  没有对比就没有伤害.

但对于一个写惯C#,Java的程序员来说, 会明显感觉到写硬件的那种无力感.

由奢入俭难啊! 无论心理上作出多低的预期, 在实际编程阶段, 心理想的是

1 - 为什么这么多工具链安装都那么的麻烦? 而且还有那么多收费的.

2 - 为什么要花时间去等待编译, 烧录, 启动, 不行再重复再重复, 青春就这样浪费了.

3 - 为什么要花那么多时间去寻找指针出错原因, 为什么写一个小时代码要调试5个小时?

嗯.  这些不是别人的想法, 是我自己的想法.

于是笔者就去找各种脚本方案, JS,Lua,Python,... 但发现,

这些方案不多不少都有各种问题. 不太感到满意.

所以, 笔者当时就计划着自己去实现一个脚本语言.

这并不是随便就去重复做一个轮子, 而是一个有目标的计划:

1 - 要极简单, 简单到, 让笔者不到9岁的儿子都能轻松地学习和测试代码, 感受到代码与硬件的交互关系.

2 - 要极方便, 方便到, 任何用户不需要输入任何命令行, 就能搭配好开发测试环境

3 - 要满足Java,JavaScript,C#开发人员的需要, 垃圾回收, 强类型弱类型, 函数式编程, closure这些都要有.

4 - 要满足C/C++开发人员的需要, 可以随意地实现自己期待的高效率函数或硬件驱动.

5 - 要非常高效, 用极短的代码就能完成创客的想法, 有错误能快速定位, 重新运行代码要在3秒内完成.

所以, 要满足这种目标, 就只能是实现一个脚本解析器, 和配套的开发工具了.

其缺点也是明显的

1 - 内存占用问题,  导致这需要对单片机有一定的要求.  可用内存最少要32K或更高.

2 - 成熟度问题 , 这需要一个过程.  不过也没差, 因为硬件开发者懂的, 说起奇怪的bug各种方案都是半斤八两.

优点和缺点分析了,  针对这种情况, 决定了这种方案只适合以下情况

1 - 教育用途, 这是首要的目的.  尤其对于小学生, 他们理解力很有限, 那么就需要把硬件开发中的各种细节屏蔽掉.

2 - 非专业创客, 如果有一些人, 他们有一些好玩的想法, 那么这个工具就能节省他们非常多的时间和精力.

3 - 快速原型,  传统的用C和用C++做产品原型是相对花很多时间的.  使用此方案则原本需要5天做的原型, 现在只需要1天. (以上为是模糊的经验统计,仅作参考) 这样就可以随时改需求, 随时评估项目可行性.

4 - 小规模生产.  在快速原型的基础上, 如果没发现太大的问题, 对硬件的成本的敏感度不高的情况下, 甚至可以直接把原型当产品做小规模生产了.

不适合的情况:

1 - 对成本苛刻的中等规模或大规模生产 , 生产几千件以上, 选用廉价低内存芯片, 每一件硬件省个10块钱就能覆盖让程序员日日夜夜调试的开销的情况.

2 - 用于关键场合的硬件开发 ,  这种场合开发人员的成本已经完全不是问题了, 找一大堆人才去做C/C++开发和极限测试吧.

要支持的硬件优先级

1 - ESP32 , 特点, 成本低, 内存足够, 拿上手就直接可用.

2 - 树莓派 , 特点, 内存超大, 性能更强. 能做USB开发,

3 - STM32 , 特点, 接口超多而全面, 适合做超多部件的场合.

当前进度 , 脚本解释器已能使用, ESP32上GPIO/PWM已实现, 树莓派GPIO已实现,  正在实现TCP部分,HTTP部分

转载于:https://www.cnblogs.com/zhgangxuan/p/9262180.html

第一篇随笔, 正在做 ESP32 , STM32 , 树莓派 RaspberryPi 的创客工具相关推荐

  1. 正在做 ESP32 , STM32 , 树莓派 RaspberryPi 的创客工具

    先随便写写一些思路, 以后再整理. 这段时间笔者做了一些硬件开发, 领悟了一些事情. 1 - 在常规创客的角度上, 硬件开发所需的知识面比较广, 非常广, 但不算太深. 2 - 发现硬件开发由于其特殊 ...

  2. 入住cnblogs第一篇随笔 Hello, world!

    在网上搜索计算机参考资料时经常看到各位大神的博客,甚是神往.今天我也在这里安家,记录自己的学习过程,也同各位共勉. 第一篇随笔,就用来测试一下这里的文本编辑器吧. 1 //The C language ...

  3. 我的第一篇随笔-英语(给他人的祝福)

    被deadline压迫,博客开通12天了才开始我的第一篇随笔.其实现在还是被压迫着,所以这就是一篇很随意的随笔 如果我们想让自己或对方,忘掉过去的不快,期盼未来会更好,就可以用到 I hope...这 ...

  4. 这是发布的第一篇随笔

    今天就算是在博客园开通博客了,纪念一下. 我是因为前段时间找资料发现博客园里几篇文章质量相当高,然后发现有很多写代码的大神都在这里记录每天自己的体会与心得,于是我也心痒痒了,是啊,我怎么就不能通过这样 ...

  5. 第一篇随笔——新的开端

    新的开端 这是我第一次开通博客也是第一次在博客上写随笔,这既是博客的新开端也是JAVA学习的新开端,希望能好好经营这第一个博客~. 觉得自己专业吗?对专业的期望 对于这个问题我不得不坦然承认虽然进入信 ...

  6. 开通博客的第一篇随笔~

    呀呀呀,第一次拥有了自己的博客啦,至于博客的名字嘛也是很有寓意滴,因为我的专业是学习计算机编程的,打的第一段代码就是就是"Hello World!"啦.今天已经是开始学习java的 ...

  7. 2017寒假第一篇随笔(寒假作业一)

    在人生技能道路上,你有没有专长的高超技能获取的成功经验? 在高中时没有过多的兴趣爱好,只是喜欢在闲暇之余看一集美剧,长时间处于美式英语的"熏陶"之下,自然对英语产生了浓厚的兴趣,在 ...

  8. 第一篇:坚持做难而正确的事情

    一直想写点和工作相关的文章,却下不去决心.一是笔者文采实在是不怎么样:二是工作比较忙(大部分人看来这都是借口),平时上班回家挺晚,周末又想休息,于是久而久之就习惯不想动了. 这是笔者开篇,想了下就给了 ...

  9. 2017年博客第一篇随笔

    if else判断分支: 顺序执行在满足一个条件后 即会退出分支 $file = fopen($error_file,'a+'); while(!feof($file)){$row = fgets($ ...

最新文章

  1. php中空心字体怎么打,php打印一个边长为N的实心和空心菱型的方法
  2. python3读取excel方法封装_Python读取Excel的方法封装
  3. java 组合代码_java实现Composite组合模式的实例代码
  4. deepin下载python_深度操作系统中怎样下载python?
  5. 为什么我不推荐Python初学者直接看项目源码?工作五年的程序员给的忠告
  6. 计算机开机是什么,你了解电脑开机时都做了些什么吗?
  7. 大话Synchronized及锁升级
  8. 打印表格_Excel表格打印技巧,让你分分钟打印出完美表格!建议收藏!
  9. SPMetal语法用法
  10. linux函数删除某文件,Linux环境下用C++删除指定文件
  11. AE拓展工具丨自定义工具栏 快速嵌入表达式
  12. 九大内置对象的作用以及应用场景
  13. C语言字符串输出中文乱码
  14. tiff文件读写等操作(多帧tiff图像保存成的.tif文件)
  15. php判断无理数,关于e是无理数的证明
  16. 民谣歌手花粥被曝侵权新闻事件数据分析
  17. 朴实无华之一万字统计学知识大梳理
  18. 优秀简历只需一篇就能打天下
  19. 全面剖析ESP32创建Wi-Fi热点的过程
  20. 《C语言入门指南》合集版,学习c语言有这一篇就够了?

热门文章

  1. 计算机网络教室课程安排表,计算机网络教室工作计划
  2. 求栈中元素个数算法_精妙的算法——计算二进制中1的个数
  3. spring怎么解耦_Spring的IOC,你真的能解释清楚吗?
  4. 俺的DBA之路----全文完
  5. python安装time模块失败_python2.7因ImportError失败:cygwin下没有名为time的模块
  6. 华为 seco pc版下载_口袋兼职电脑版下载_口袋兼职pc版最新下载[生活服务]
  7. Windows10下vs2017的OpenGL的配置
  8. 词霸天下---词根254【-ident- 相 同】
  9. 小爱触屏音响用php接口,入手解析小米小爱触屏音箱Pro 8(白色)X08A评测如何?怎么样呢?专家们分析评测...
  10. android fragment finish activity,如何从fragment跳到activity再从activity返回(finish()方法返回)刷新fragemnt页面...