brew速度慢解决

分类:technology评论:No Comments作者:Blackrose日期:发布时间:December 3, 2016

brew运行慢是因为要从github上同步,这里可以使用清华的镜像

cd "$(brew --repo)"
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

brew update

tsinghua brew

Tags: none

iTerm关闭共享历史记录

分类:technology评论:No Comments作者:Blackrose日期:发布时间:November 30, 2016

iTerm默认是开启在所有tab间共享历史记录的,以下命令可以关闭。如需开启,可以用setopt命令即可

unsetopt inc_append_history
unsetopt share_history
Tags: iterm

IoT操作系统

分类:technology评论:No Comments作者:Blackrose日期:发布时间:November 26, 2016

最近公司PM组织头脑风暴会议,讨论下个产品的方向,其中有谈到物联网方向。希望可以选择一款操作系统,让新的板卡产品进入主流市场内。作为软件开发,我搜寻了一些资料,后续也会更新在这里。综合这些IoT操作系统和成功的产品来看,IoT设备要火起来,要有以下特征:

  • 操作系统的版权会是两个极端,完全封闭或完全开源,以便其它厂商和开发者跟进
  • 应用开发语言更主流,易学易用,更强大的IDE开发环境
  • 开源的操作系统必须解决版权的问题,由其是基于Linux内核的要规避GPL协议给硬件厂商
  • 设备通迅协议有统一规范,开源和闭源的产品,也可以相互通迅
  • 提供高级GUI和相应控件,方便中高端产品的显示需求

Ubuntu Core
由Ubuntu的母公司Canonical发布的新操作系统,称为”Snappy Ubuntu Core”,面向云和设备。Ubuntu Core是最小化的rootfs用于自定义镜像和特殊需求。其中Snappy是全新简单的系统和应用管理方式。Snappy应用是压缩的文件包,包含了应用相关的依赖关系和库文件。
开发板支持:

  • Raspberry Pi 2
  • Raspberry Pi 3
  • DragonBoard 410c
  • Intel NUC
  • Intel Joule
  • Samsung Artik
  • KVM

https://www.ubuntu.com/internet-of-things
Windows 10 IoT Core
专门适用于Raspberry Pi2, MinnowBoard廉价迷你设备。
开发板支持:

  • Raspberry Pi 3
  • Raspberry Pi 2
  • MinnowBoard Max
  • DragonBoard 410c

https://developer.microsoft.com/zh-cn/windows/iot
Google Brillo
一个极简化系的Android操作系统,裁剪掉上层界面,支持Weave协议。Weave用于设备互通的M2M标准,支持各种搜索,配置和认证功能。运行Brillo系统只需要128MB存储空间和32MB的内存。
开发板支持:

  • Intell Edision Kit for Brillo
  • Technexion Pico i.MX6UL
  • Imagination Technologies Creator Ci40
  • Qualcomm Dragonboard 410c

https://developers.google.com/brillo/
https://www.brobwind.com/archives/category/google-brillo

Huawei LiteOS
各新闻网站说是华为开源的操作系统,但从未在网站提到任何开放信息,符合华为的一贯风格。

http://www.huawei.com/minisite/iot/en/liteos.html
https://github.com/Huawei/Huawei_LiteOS_Kernel
http://zqsmm.qiniucdn.com/data/20141223174247/index.html

Google Fuchsia
Pink + Purple == Fuchsia。内核有两个LittleKernel和Magenta,Magenta从LittelKernel开发而来,可扩展性更强。用户界面使用Flutter控件框架,内置Escher物理三维渲染器。其中使用Dart作为主要的编程语言,界面有Material Design UI的理念。还有一个Mojo框架,已绑定一些语言,比如Go, Java, JavaScript, Python, Rust。这些语言可作为后台开发,Dart语言编写GUI部分,

Purple - A system with high performance graphics, low-latency input, and a beautiful UI.Pink - An incredibly modular system for developers and users.

https://github.com/fuchsia-mirror
https://fuchsia.googlesource.com

Contiki

http://www.contiki-os.org/

Ostro
https://ostroproject.org/

Tizen

https://www.tizen.org/

Tags: iot

历史上的操作系统GUI

分类:growth-log评论:No Comments作者:Blackrose日期:发布时间:November 12, 2016

Operation System GUI history

OS GUI History

Tags: none

注册AWS账户

分类:technology评论:No Comments作者:Blackrose日期:发布时间:September 12, 2016

最近想使用下Amazon的Alexa语音服务,正好可以使用上面的服务来实现语音控制LED灯。

电话验证:
https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/

Lambda和AWS IoT连接,地区选择 US East (N. Virginia)。IoT使用MQTT通迅时,要使用policy来限定设备访问的权限,如果不限定,默认是无法连接的。

参考链接

零基础AWS教程图文版

Tags: aws,alexa

Thinkpad E550 webcam问题

分类:technology评论:No Comments作者:Blackrose日期:发布时间:August 26, 2016

公司配的E550的这个本本安装Linux后也是一堆问题,之前是bluetooth和wifi有冲突。现在发现上面的webcam用不了,网上一找,原来是老问题了:

Bus 001 Device 006: ID 5986:055a Acer, Inc 

用lsusb命令查到的这个Acer就是webcam设备,是usb设备的,但uvcvideo没有识别到。

mkdir -p ~/debian/src
cd ~/debian/src
wget -O webcam.patch https://launchpadlibrarian.net/229627414/0001-uvcvideo-Acer-Integrated-Camera-5986-055a-add-UVC_QU.patch
apt-get source linux-image-$(uname -r)
cd linux-*
patch -p1 < ../webcam.patch
make modules

编译后替换uvcvideo.ko文件即可,但在modprobe时会出现如下提示

modprobe: ERROR: could not insert 'uvcvideo': Exec format error

可以使用-if参数。

参考链接:

https://github.com/merwan/merwan.github.io/blob/eaa50034345b765ce59113eba4cd1e50f13af72f/_posts/2016-05-12-how-to-make-Lenovo-L450-webcam-work-with-Debian.md

嵌入式产品中的开发问题

分类:growth-log评论:No Comments作者:Blackrose日期:发布时间:August 23, 2016

公司有时候会接一些定制项目来开发,最近收到一个以前合作过客户的问题。下面是情境再现:

客户基于AM335X芯片开发通信类产品,运行Linux系统,上层使用mysql, redis服务,使用python语言开发。产品已经投运到现场,运行三个月后,持续出现设备无法启动,以太网无法连接问题。无法远程修复问题,只有派工程师去现场解决。

经过一段时间的跟进,发现如下问题:

  1. 应用程序未使用watchdog,而是由kernel来定时feed
  2. 客户使用TF Card作为存储设备,卡上分有两个分区,boot和root。三个月后root分区出现无法登录和bad block现象
  3. 上层应用中有使用mysql和redis服务,客户使用python语言开发应用。mysql数据库有损坏。
  4. 没有升级和反馈通道

上面的问题,发现在很多工业产品中都会遇到,毕竟很多公司都是以主要功能为主导开发,一般像升级,反馈等功能都不会先行开发。但是,这个这案例就说明了一个问题,由于没有先行开发升级,反馈和维护功能,导致现场出现问题后,只有派实施人员去解决,但解决也不是一次性的,后期有问还是要去。因为无法远程得到运行日志,并提供相应维护措施,让设备回到正常运行状态。

对于工业类产品公司,大部分精力会花在自身领域内的服务上,软件开发人员大多也在花时间在开发提供服务的业务。这时候,硬件部分会找一些第三方板卡公司来合作开发,这样可以减少开发时间和成本。但是大多数板卡公司,也只是跟据芯片公司提供的评估板进行二次开发,让成本更体现本地化优势,提供给不同行业的用户使用。软件方面,也只是修改BSP和个别驱动代码,适配自己的底板和核心板。用户拿到板卡,看起来是可以直接进行应用软件开发,实际上也只是提供了一个基本的开发框架而已。上面说到的升级,反馈和维护都没有提供相应的解决方案。实际产品开发中,还有部署环节,也需要用户自己去开发。这样看来板卡公司其实还是有很大的市场空间,可现实是这些公司还是以售卖硬件为主,没有看到软件的价值和服务,所带来的商业利润。

Tags: 产品

mac下virtualenv使用系统PySide

分类:technology评论:No Comments作者:Blackrose日期:发布时间:August 18, 2016

mac下安装PySide的pkg软件包,安装后在virtualenv环境下提示无法找到PySide包。

https://wiki.qt.io/PySideBinariesMacOSX

这理的PySide包是安装在/Library下的,只要在virtualenv下重新导出python的路径就可以了

virtualenv env
source env/bin/active
export PYTHONPATH=$PYTHONPATH:/Library/Python/2.7/site-packages

参考链接:

http://qiita.com/FGtatsuro/items/10c37e7fe196245a150a