近二十年软件开发、项目管理、团队建设和管理经验。致力于互联网技术应用与大数据应用方面的研究与开发工作。曾任多家软件公司的高级软件工程师、项目经理、首席架构师和技术总监等职务。现任广州市增增智能科技有限公司CEO,从事视觉智能、语音智能及IoT等技术的产品研发与企业经营方面的工作
文本将讲述如何使用OpenCV识别一个图片中所包含的形状。 安装依赖包: $ pip install imutils 首先来定义一个类来负责检测图片中的形状: import cv2 class ShapeDetector: def __i...
本文将会用三个不同的示例说明用OpenCV如何进行形状的检测与分析。 从这三个示例中我们将会学到如何: 计算一个轮廓或图形区域的中心点,这项小技能会在以后很多的OpenCV项目中将会非常实用。
当刚刚学会使用3D打印软件(slicing software)去设定3D打印速度時,初学者通常只学习设定Print Speed 和 Travel Speed 这两种基本打印速度设置。
由于Kossel是使用远程挤出机,那么如果手动更换打印耗材就是一件非常麻烦的事,要将耗材从远程挤出机中抽出或者插入都是一件极为麻烦的事,甚至某些时候可以说是一团糟。
我之前介绍了两篇关于ESP8266的OTA更新方法: 基于 Arduino OTA "ESP8266 OTA之Arduino IDE更新" 基于 浏览器的 OTA "ESP8266 OTA之浏览器更新" 说实话以上这两种方案除有点好玩其实没有什么实用性,由其在开发产品时上述的两种方案就是一种鸡肋,甚至可以说是不可用的。
ESP8266的浏览器更新的过程是这样的 用ESP8266先建立一个Web服务器然后提供一个更新界面(ESP8266HTTPUpdateServer) 通过Arduino将源文件编译为*.
在某些时候我们设计的产品可能不具备持久供电的环境,那通常会采用锂电池、干电池一类的轻便型的非持久性电源。当遇到这种情况时,产品的续航能力可能就会成用户评估产品的一个重要指标,加大电池容量当然是最为直接的方案,但是这也意味着提高产品的生产成本。
最近我们做一个项目需要在ESP8266中播放一段音乐,当时一下就傻了,ESP8266可是没有D/A输出的! 一开始我们直接买了一块D/A解码的板子然后接上一个小功放来播放,但效果令人失望。
目标 识别进入摄像头的人是谁 face_recognition face_recognition 是github上一个非常有名气的人脸识别开源工具包,我们可以通过以下指令安装到python环境内 $ pip install face_...
目的 试验OpenCV的实时图像捕获 实时窗口内对每一帧的图片进行处理 识别视频窗口内的人脸,并用一个矩形画出来 人脸检测方法有许多,比如opencv自带的人脸Haar特征分类器和dlib人脸检测方法等。
安装OpenCV 基本要求: Python2.7 Virtualenv $ brew install opencv 创建项目目录 $ mkdir learn_cv & cd $_ $ virtualenv venv 将OpenC...
ESP8266的开发方式有一个很出名的名号: NodeMCU Lua ,也就是说用Lua编程才是使用NodeMCU的王道? Lua这款大名鼎鼎常现身于游戏开发的超小,超强的类C语言在此就不用多解释了。
ESP-01 ESP-01 可能是体积最小的实验板了。 ESP-01可谓是“小身材,大能力”集MCU与WIFI于一身,在ESP8266系列中性价比算比较高的一款了。
MQTT Spy mqtt-spy_v0.5.3 这是一个用java开发的开源MQTT客户端,可以到他们的GitHub上下载,用起来感觉得行但是如果机器上没有安装好java的话就会非常坑,经常会运行不了。
早在1999年,IBM的Andy Stanford-Clark博士以及Arcom公司ArlenNipper博士发明了MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议。
SSDP(简单服务发现协议)是应用层协议,是构成UPnP(通用即插即用)技术的核心协议之一。它为网络客户端(network client)提供了一种发现网络服务(network services)的机制,采用基于通知和发现路由的多播方式实现。
什么是LLMNR 在DNS 服务器不可用时,DNS 客户端计算机可以使用本地链路多播名称解析 (LLMNR—Link-Local Multicast Name Resolution)(也称为多播 DNS 或 mDNS)来解析本地网段上的名称。
在局域网内,你要通过一台主机和其他主机进行通信,你需要知道对方的 ip 地址,但是有些时候,你并不知道对方的 ip 地址,因为一般使用 DHCP 动态分配 ip 地址的局域网内,各个主机的 IP 地址是由 DHCP 服务器来帮你分配 IP 地址的。
所有的这些板核心还都是基于ESP8266(EX)来构建的。 ESP8266EX ESP8266EX ESP-01 零售价在¥9 ~¥15 引脚 ESP-01 与 FTDI232串口转换板的连接 ESP-03 ...
周一突然间爆出微软以75亿收购GitHub可真是一颗重磅炸弹,一下轰动整个软件业。如果你不是搞开发的这篇文章几本不会引起你的共鸣;如果你没有用源代码管理这个消息也只不过是个新闻;如果你是微软系的朋友那么恭喜你你们终于买到一个好工具了;如果你和我一样是一个开源社区的寄居者,看在党国的份我给你一句忠告:死神来了,快夹着代码逃吧! image.png 对于微软我可不是个无脑黑,在多年前还曾是一位忠实的“软狗”。
SPIFFS 我个人很喜欢ESP8266这个板,主要是由于它提供了一系列价格低廉、高可用的IoT开发及接入方案。你是否知道在ESP8266的系统闪存可以用来存储代码甚至是文件吗? 这个文件系统可以让我们存储一些变更频率不频繁的文件例如网页、配置或者是某些固化的数据等。
以下线路图是我粗浅地整理与总结了相关的知识点后画出的,在不断的学习中还会继续更新,如有不对之处还望给我留言不吝赐教。 人工智能.png
Caffe是一个深度学习框架,具有表达力强、速度快和模块化的思想,由伯克利视觉学习中心(BVLC)和社区贡献者开发。Yangqing Jia在加州大学伯克利分校攻读博士期间创建了这个项目。
我在撰写《Vue2实践揭秘》时采用的 vue-cli 版本是 v2.5.1,由于实体书的出版周期比电子书的要长,所以到全书出版vue-cli已经更新到 v2.8.2 了,我在书中曾经对 vue-cli 的全部官方模板进行过一个全面的解释,今天看了到这个更新版本算一算日子也已经与我写书时相距接近半年了,所以也特意重新来对每个模板过了一遍,作为对《Vue2实践揭秘》的补充更新吧。
这是一篇我很久以前发表在博客园的文章,因为最近更新了机子的环境,又要重新设置一次环境,现在就体验到经常写文章的好处了,毕竟人老了好多东西记不住,还是得靠博客。
在我经历的IoT项目中,上图中的这个屏是我最喜欢的一种了,接过显示屏的都该对它们各种复杂的接线感到崩溃吧,由其是并行式的屏幕。这个OLED冷光屏( 型号 SSD1306 )却是个例外,它有I2C和SPI两种接口这就意味着我们只要接很少的线就能将它给驱动起来。
自《Vue2.0实践揭秘》出版后已经很多天没有写博了,很多朋友都关心哥最近干嘛去了。那从今天起就用一个系列的文字讲讲我最近“闭关”的所得吧。所谓闭关就是作啊~ 之前将几年前买的一台3D打印机(DaVinci 1.0)升级失败了,最终无耐之下重新在淘宝上找了一台,打算用便宜一点的机器来将毁掉的那些组件给重新打印出来,我就这样走上了一条充满巨坑的升级之路。
一般的android连接mac 很方便不用安装驱动就可以啦,可是不知道为什么特殊情况下有的android手机(小米2,华为等)就是连接不上,下来就说说特殊情况下如何连接。
玩过一段时间3D打印机的朋友,都会接触到G-code文件。所谓G-code文件, 指的是3D模型在进入3D打印机实际打印之前,必须要经过切片器处理而成的一种中间格式文件。
这本书是去年搞Vue项目时头脑一发热就找编辑说要写这么一个题材的一本书。折腾了大半年终于是上市销售了,今天偶然打开京东查了一下竟然已经开卖了,心里面是有点小激动,毕竟这是我上架的第一本书,真心感谢本书的策划编辑陈晓猛先生,不是他的话此书也未必能这么快地完成。
常见的桌面3D打印机,按照结构分可以分为i3、UltiMaker、Makerbot、三角洲(Delta)等几种类型: i3 ultimakers Makerbot Delta 但按照送料方式又可分为远程挤出和近程挤出两种类型的机器。
最近一直在ESP8266上折腾一块从淘宝上找回来的2.4'' TFT 的串口触摸屏,分辨率是240x320的基于 ILI9341驱动,具体型号是 TJCTM24024-SPI 就是下面的这块。
要开始IoT项目的第一步是什么?当然不是硬件,而是硬件与硬件的连接!即使有各种各样的通信协议没有好的连接方式绝对不行。那外设上没有的屏幕,没有键盘怎末输入密码怎末选择网络?对,这就是WIFI模块最重要解决的问题。
OTA - Over the air update of the firmware 即 空中固件更新。这是乐鑫SDK中极为之Cool的功能! 平时做Arduino 或者 ESP8266的开发都要很苦逼地用USB插着板子,如果用ESP-01...
玩了IoT好几年了大多数时间都耗在搞4轴上,通信方式一直也就用着2.4G (nrf2401),以前一直认为这是一种最廉价的组合,用Arduino 做一个应用也是手到拈来,学无止境!当我无意地发现被我扔到角落上的ESP8266时,我在IoT中形成的世界观崩溃了,当然每次的崩溃带来的是极大的喜悦,因为终于找到了比Arduino 和STM更好的板子和开发方法。
背景知识 蓝牙技术最初由爱立信(也就是多年前手机做得最丑最奇葩的公司,最终被用户以脚投票踢出市场)创制。技术始于爱立信公司的1994方案,它是研究在移动电话和其他配件间进行低功耗、低成本无线通信连接的方法。
apple_3dtouch.png 什么是3D Touch 3D Touch 是iOS9之后专为 iPhone6s 机型加入的新特性,这一新技术移植于 Mac Book 上的 ForceTouch 更准确地说应该是 ForceTouch 在iPhone 上的实现吧。
这是一个很常用的开发场景,就是改变导航栏上的文字颜色与背景色,如果你曾有 windows form 开发经验一定会笑我:“卧槽,这有什么好写的,不就是设置两个属性就可以了吗?” 我以前也这样认为,但在iOS中这个过程是很落后的,先来建立一个简单的带有导航栏的项目,运行效果是这样的: 默认效果 这个界面很不怎么样,至少很多情况下我们希望我们的APP在 导航栏上能显示我们的主题色。
Activity Indicator 是iOS开发中必不可少的一个视图。本文就简单地总结一下这个Activity Indicator 的使用方法。 默认 Activity Indicator 以下的函数可以向视图添加一个默认的 Activity Ind...
文字展示是任何GUI开发的一个最常规的编程任务。可能一提及文字我们脑中想到的无非就是 Label 和 Text 这两个关键词,今天我们就谈谈 Label。
L09110 L9110S是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。
nRF2401 所有的使用Arduino 的朋友大多都会知道大名鼎鼎的XBee 这个土豪级的ZigBee 的通信模块。我们是做产品开发的,对于XBee这个产品可谓是又爱又恨,不得不承认他确实是一个好货,从做工到功能都无须质疑,让人最感到遗憾...
Travis CI 社区化产品的长久生存之道可能莫过于对迭代周期的控制。还记得以前采用老土的阶段开发的年代,将软件生命周期分为各个阶段,当到达每个阶段的里程碑则集中所有的资源、人力作全面冲刺。
为树莓派制作系统镜像一般是需要一张4G的SD或TF卡,但是你是否知道如果你的SD卡是8G或者16G又或者更大,制作好各种类型的Linux并启动进入系统使用是只能使用4G以内的SD卡,而其它多出的部分是一个空白的无分区空间。
Raspberry 要在树莓上支持远程桌面服务,能通过远程桌面客户端访问树莓的桌面可以使用Tight VNC,这样一来就不用为树莓配置显示屏了。
无线热点 迷思 这几天一直想着对BananaPro上增加输入和输出设备,折腾来折腾去的最后发现是自己的思路出问题了。作为上位除了做媒体中心之时需要输入输出设备,貌似大多数情况下是不需要这些的,它只是一台提供服务超小型服务器将它当作普通PC来用确在是一种思路上误区。
Bluetooth 如果你尝惯了GUI式的蓝牙连接,当用树莓进行蓝牙设备连接的时候,估计会和我有相同的感受:坑爹。一个只要几秒的操作在Linux上是需要搞上好一阵子的,既然要用那么就看看如何来操作吧 安装蓝牙工具 先执行更新 sudo ap...
Data Raid RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。
Captstrano Captstrano 是一个Ruby世界中著名的用于远程部署的自动化工具。 GitHub 官网 安装 在 gem 里加入 gem 'capistrano', '~> 3.
Why 我注册简书已有两年了,�虽然以前一直没有用简书写作但我却是因为写作而进入简书。简书这个工具实在太好了,几乎有我在写作中需要的一切!写了三年多的书用过的工具也多种多样的,iBookAuthor, GitBook,Sublime 甚至还自已写个工具来用,这可能是所有Geeker深入骨髓的折腾基因的作用吧,在写完第一本书之后决定还是得搬到简书上来,原因是不想再折腾了。