- 博客(134)
- 资源 (4)
- 收藏
- 关注
原创 社区分享 | 从零开始学习 TinyML(二)
我们在上周的社区分享栏目中介绍了社区分享 | 从零开始学习 TinyML(一),本周我们将继续学习。Hello World — 梦开始的地方(中)在前面的准备工作中,我们完成了模型训练,并且将模型的二进制格式转化成为 C++ 可以识别的数组。但是,这仅仅是基于微控制器项目前面的一小步。后续还有许多工作要做。项目中的代码也是完全基于 C++ 11 的标准版来开发的,避免了复杂的逻辑。这份代码也可以当作 C++ 模板进行开发。但是不要一提到 C++ 就特别怕,在这一篇文章会用已有的代码...
2020-07-07 16:17:47
3062
10
原创 社区分享 | 从零开始学习 TinyML(一)
TinyML 简介1. 概要Pete Warden 与Daniel Situnayake 合著了一本介绍在 Arduino 和超低功耗微控制器上如何运行 ML 的书,TinyML:Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers,这本书由 O’Reilly 于 2019 年 12 月 13 号出版。我作为国内 IoT 和 ML 两个方向的 GDE,对 AI 在嵌...
2020-06-28 11:34:56
20541
10
原创 TensorFlow GPU在ubuntu 18.04上安装的注意事项
虽然说TensorFlow到现在已经发布好几年了。但是在ubuntu上用带GPU的TensorFlow,我认为一直是个灾难。而且这个灾难仍将持续。。。这个话题,相当简单了,只是配置一下环境而己。但是N多人在上面痛不欲生,我还是写出来吧。有问题尽管给我留言。自己买的笔记本是thinkpad P50的工作站,内置M2000M的显卡,操作系统为ubuntu,可以用做GPU加速来训练模型。麻烦是,T...
2018-09-30 12:09:32
3297
转载 邀请函 | Google 开发者物联网创新沙龙
文章来源“If you can build an app, you can build a device. ” 打造一款物联网智能设备就像开发一款 APP 一样简单? 使用 Google 的 Android Things 就可以帮您实现这个梦想!在上个月结束的 GDD 大会上,Google 最新的智能化操作系统 Android Things 也和中国的开发者见面了。在大会期间不仅有专门介绍 And
2018-01-04 15:44:59
863
原创 Android Things在 #io17
文| 谷歌IoT开发技术专家 (GDE) 王玉成 (York Wang)Google IO 2017圆满结束了。这次大会上,聊到了Android生态系统的一系列变化,聊到了人工智能,聊到了增强现实,聊到了机器学习。Keynote中也只是简单的提到了Android Things的发布,但是Android Things相关的Session却在大会上完全铺开了。session的亮点今年的IO大会,为我们带
2017-05-30 09:57:30
4253
原创 Android Things 专题6 完整的栗子:运用TensorFlow解析图像
文| 谷歌开发技术专家 (GDE) 王玉成 (York Wang)前面絮叨了这么多,好像还没有一个总体的概念,我们如何写一个完整的代码呢?现在深度学习很火,那我们就把 Android Things 做成摄像头,然后抓拍图片,让 TensorFlow 去识别图像,最后用扬声器告诉我们结果。
2017-03-22 20:53:32
10810
4
原创 Android Things专题5 I2C
文| 谷歌开发技术专家 王玉成(York Wang)上一讲中,我们说到 Android Things 的 API,以及 Peripheral I/O 设备包含的 API 的类型。但是作为程序员的我们,怎么理解这些 API 呢?我们就拿 I2C 的 API 来说吧。
2017-03-15 20:23:32
5561
2
原创 Android Things 专题4 SDK框架
文| 谷歌开发者技术专家, 物联网方向 (IOT GDE) 王玉成(York Wang)物联网应用开发与手机和平板的应用开发有一些区别,那么Android Things与Android又有哪些差别呢?变化Android Things主要在Android的核心框架中扩展了一些支持物联的API。
2017-03-07 19:28:01
4730
1
原创 Android Things专题3 开发环境搭建
文| 谷歌开发技术专家 (GDE) 王玉成 (York Wang)物联网 (IoT) 的应用开发,离不开跟开发板打交道,我们需要配置好开发板的各种环境,最后才能用 Android Studio 进行应用开发。我们今天就以 Raspberry Pi 3 为例,一起来搭建 Android Things 的开发环境。
2017-02-27 20:48:51
8380
5
原创 Android Things专题2 硬件介绍
文| 谷歌开发者技术专家, 物联网方向 (IOT GDE) 王玉成(York Wang)经过2016年Brillo首批开发者的反馈,以及市场调研,为了照顾广大Android开发者的习惯,形成了现在的Android Things操作系统,完全兼容Android Studio的开发环境。 今年2月8日,Google发布了Developer Preview 2(DP2)版。以后大概会每隔6到8周更新一个
2017-02-23 19:47:16
7848
4
原创 Android Things专题 1.前世今生
文| 谷歌开发者技术专家, 物联网方向 (IOT GDE) 王玉成(York Wang) 2016 年 12 月,Google 发布了 Developer Preview 版的 Android Things,该平台为利用 Android 这一世界上最受支持的操作系统的强大功能构建物联网产品铺平了广阔的道路。但它并不是一个全新的操作系统,而是通过同样是 Google 开发的物联网操作系统 Brill
2017-02-20 21:39:08
9569
12
原创 secure CRT彩色显示终端
secure CRT是windows下的一款好的终端连接工具,特别是ssh的连接,直接感觉putty实在是弱爆了。然后其它的串口啊。什么的连接也都支持。用上了,就放不下了。下面解决了secure CRT的字符编码,还有颜色显示的问题 。 打开session设置 显示彩色 调整编码 搞定
2016-11-28 09:21:04
2762
原创 笔记五 第三章机器级表示总结二, 过程,递归,数组,结构与联合,调试及优化
接上篇。过程我们在学C语言中,经常会注意到一个话题,就是函数参数的入栈问题。然后,就有接下来的图片 然后在栈向下生长的方向上,一般来就,就调用者和非调用者的关系。一般来说,当一个函数调用另一个函数时,会先把最右边的参数压入到高地址,然后把最左边的参数压入低地址。最后把函数的返回地址压入栈。这也是平时所说的,函数从右往左入栈的来源。 上图中,还引出另一个问题,如果被调用者的参数,是调用者的局部
2016-10-06 00:08:18
1500
原创 笔记四 第三章机器级表示总结一,移位运算,控制指令
概述第四章主要讲述的是语言的机器级表示。 实际上,做为非汇编的机器语言,在应用层的程序开发时,是很少接触到汇编语言的。但是,汇编语言又是非常重要,只有理解了汇编语言,才能如何优先代码,如何调试代码,如何写出健壮的代码。现有的C库中某些函数的问题,如何分析,如何规避。 在嵌入式系统开发中,特别在非MMU的祼机程序中,程序的入口,异常管理,更需要对汇编语言的深入了解。 这一章的分析流程特别适
2016-10-01 00:12:28
1427
原创 vim的基本配置
之前一直用vim的几款插件,今天看到一篇关于vim的文章。然后自己写了一个脚本,并且把自己的.vimrc文件也拿也来了。可以自动下载。然后再手动配一下taglist,用ctags生成东西,然后跳转。代码及脚本的链接。实际上也没多少代码。 包含了常用的几个插件。 pathogen : 用做插件管理 supertab :按tab键之后可以自动补全 syntastic: 当保存文件后,自动进
2016-09-16 00:34:26
1408
原创 笔记三 第2章总结及感悟
前几天太忙。没来得及继续看书。今天趁放假,把第2章看完了。除浮点数知道存储格式,略过原理推导外,其它部分都认真读了。第二章的核心:数的表示与数的运算。需要注意下列几类问题:数的表示 数的表示,按数的类型划分:整数和浮点数。按定义规则,分为有符号数和无符号数。共4个大类。其中,浮点,可以理解float以及double在内存单元中的定义情况,以及小数如何计算。然后+0.0与-0.0的差别,以及浮点
2016-09-15 22:05:33
1375
原创 笔记二 习题2.26有符号和无符号引出的问题
这几天没有看书。以后记得坚持。看到讲位移和符号的关系。 其中对于嵌入式开发人员,关注的是逻辑右移和算术右移(高位如果为1,就依次填充1)的差异性,一般的编译器默认的是算术右移。 我们在操作硬件时,必须使用无符号的类型。上面是概念性的理解。但是关于有符号和无符号类型,在现实中的确会造成困扰。 分析代码在此。我用的是64位的机器编译的,所以size_t类型是unsigned long int类型。
2016-09-07 23:08:30
1486
原创 笔记一 2.1.8异或交换产生的问题
博客一放,又是好久没有写了。。。。前两天买了两本砖头书回来。一本是《深入理解计算机系统》第二版的的中文版,另一本便是《算法导论》第三版的中文版。打算花时间认认真真消化完这两本书。再结合自己几年的工作经验,根据理论,做一些分析,力争找到问题的本源,以及解决办法,多写几句没事,争取把问题讲透。另外一点,便是想把不扎实的知识点,通过阅读这本书,把东西吃透。需要整理的代码,自己扔在[csdn的git托管中
2016-09-03 01:38:29
1332
原创 linux的用户态程序栈的跟踪方法
linux的用户态程序栈的跟踪方法GNU C中的libc相关函数介绍实例分析GNU C中的libc相关函数介绍这一部分文章来源于GNU C的在线帮助文档实例分析将下面的代码保存为main.c文件,然后用gcc编译#include <execinfo.h>#include <stdio.h>#include <stdlib.h>/* Obtain a backtrace and print
2016-06-16 16:31:23
3254
原创 当了一回网管,见识了一下php的挂码方法
当了一回网管好长时间都没有更新博客了。这回也来写一把非研发的东西。问题起因是有一台有固定IP地址的web服务器,然后装的是windows版的。服务器上跑的是一个php的动态站点。后台用的是dedecms做为建站系统。但是最近以来。这个站点一直被挂马。倒底是windows服务器被攻破,还是网站被人上传了恶意的木马?不得而知。每回把服务器重新恢复,没过一段时间,又会被挂马,在首页最下端出现了“百度联盟”
2015-10-18 12:08:32
4204
转载 解决VirtualBox占用100%CPU的问题
原贴地址 http://blog.sina.com.cn/s/blog_4a94a0db0100h2ce.html本文由五步蛇原创。 一直使用VirtualBox虚拟机,但是忘记什么时候,一开虚拟机就占用100%的CPU,也不知道是VirtualBox升级的问题还是由于换了Win7,在学校没什么事的时候也就没怎么用,不过这两天弄东西经常用,但是却死活摆脱不了占用
2015-05-07 08:34:19
46531
原创 android中的计步问题及计步传感器分析
今天打开博客,才发现居然有一年多没有写博客了。。。最近由于公司要分析android上的计步问题,顺便把计步器在android上的实现跟踪了一下。结果发现悲催的是,android的api19上,是用的硬件本身的计步实现了。android源码中的流程追踪如下:frameworks/base/core/java/android/hardware/Sensor.java 中定义
2015-02-04 16:50:43
5913
原创 nexus 5的一些优化(操作方法适用于所有的nexus机型)
为了android开发。狠心入手了一台nexus 5.到手后。怎么用都不爽。无奈。做基本工作,root, 裁剪rom,取消OTA升级。机子到手后的第一步。最好找个有wifi的地儿。在pc机上装上fastboot.1. 第一次开机的初始化过程中,连接wifi,记住,不要填google的帐号。跳过所有的检查,等机子启动成功后。断掉wifi,断掉移动数据网络。切记切记。(
2013-12-25 14:28:45
4585
转载 在linux下挂载android的mtp设备
mtp应该是android的4.0以上版本的新功能。取代了传统的U盘挂载方式。以下照抄原文: http://www.miui.com/thread-960449-1-1.htmlAndroid3.x 以上使用了 MTP 协议连接移动设备的内部存储,在 Windows 上可以很方便的打开 MTP 设备,而在 Mac 上 google 提供了一个
2013-12-24 10:05:40
11372
原创 linux下比较好的配置无线AP的脚本(非adhoc模式)
还是看原文链接吧:https://github.com/eexpress/eexp-bin/blob/master/ap.bash感觉挺好用的。而且修改挺方便。里面实现了ipv4的转发。基本的参数都可以修改。把代码放在这儿#!/bin/bash#● ai hostapd dhcp3-server iw list|grep '* AP'[ $? -ne 0 ] &
2013-08-21 23:23:33
2753
原创 安装ubuntu 13.04 碰到的问题
上个星期把10.04的ubuntu进行升级,结果升级崩溃了,造成图形桌面进不去。重装系统吧。然后直接安装了64位的13.04的版本。http://nowardev.wordpress.com/2013/02/02/fontconfig-warning-etcfontsconf-d50-user-conf-line-9-reading-configurations-from-
2013-08-12 17:01:50
2096
原创 ubuntu在命令行下同步时间
由于我们在服务器上装了ubuntu的英文板.在老的板本中,系统会自动设置为英文国家的时区.这样操作不太方便.以下是命令行设置时钟与时间服务器同步的方式.1. 修改 /etc/timezone的时钟为UTC时钟.2.修改时区 $sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime3.同步时钟服务器
2013-07-01 13:05:31
3376
原创 contiki系统分析六:时钟
contiki系统提供了一系列的时钟库,可以供contiki系统或者用户态的程序调用.时钟库包括时钟到期检查.在调度时钟时低功耗的模块被唤醒,实时的任务调度.定时器也可以让执行具体的事情过程中进入休眼状态.contiki的定时器的种类contiki包抱一个时钟模块,但是有多个时钟模型:timer, stimer, ctimer, etimer, rtimer
2013-03-29 10:58:46
3141
原创 contiki系统分析五:算法库
contiki提供了以下的算法. 这些算法可以供contiki的系统和用户程序共同使用.代码在core/lib目录下由于基本算法一般编程人员都比较熟悉,而快速傅立叶变换在contiki中提供的使用例子为examples/esb/fft-test.c用于声音芯片的采样频率的处理.具体的API看对应的头文件即可.如果对算法感兴趣,可以详细分析一下ifft的算法.里面先实现了
2013-03-26 10:05:20
2632
原创 contiki系统分析四:内存分配
contiki有三种分配内存的方式。memb 内存块分配器,在contiki中使用最频繁mmem 管理内存分配器,很少去使用标准C库的malloc的栈内存分配器,在contiki这种受限系统中使有最危险。memb的内存分配器有下列的API: MEMB(name, structure, num) : 定义memory block.void memb
2013-03-25 17:49:05
3398
原创 contiki系统分析三:进程分析
1. contiki中进程的类型 由图示我们可以看到,contiki中包含两种类型的进程,preemptive(可抢占的)和cooperative(合作的,由于只有两种进程,可以理解为非抢占的). preemptive类型:优先级较高.可以在任何时候直接打断cooperative类的进程执行条件. prremptive类型的进程可以由中
2013-03-21 21:19:55
3941
原创 contiki系统分析二:linux下的编译
1. 编译器由于CC2530的内核是一个增强版的8051单片机,在linux系统下面51单片机的编译器用的最普遍的是sdcchttp://sdcc.sourceforge.net/在linux下面自己编译一下sdcc编译器,然后设置PATH路径即可.在cpu/cc253x/Makefile.cc253x有定义,包括,编译,静态库生成,抽取符号表的工具都有.但是比GCC的工具链肯
2013-03-12 15:53:17
2494
原创 contiki系统分析一:下载及基本结构
这一系列文章主要专注于contiki的代码分析.至于contiki的开发历史,物联网本身的讨论不在这个系列的讨论范围内.然后所用的SOC是cc2530,所有的工具都是基于cc2530芯片来分析的.1. contiki的下载contiki官方维护的开源代码,包括虚拟机镜像,还包括相关的论文及电子书.可以从下面两个网址中找到.https://github.com/c
2013-03-11 14:38:46
2686
原创 android上的GPS定位的问题
上一次我root成功后,无法用adroid上的GPS,如果从google play上下载一些关于GPS的应用,总显示在定位中,无法搜到GPS的信号。参考网页http://hi.baidu.com/zhte23/item/19a4e3dff03a5915d90e449f核心的是修改gps的配置文件。再根据一篇文章http://modmymobile.com/for
2013-02-10 11:14:27
2687
原创 android手机root后的问题。。。
由于我买的手机是移动定制机。为了清爽一下手机,上个星期做了一把root开始用了一键root等其它的工具都不好用,最后用了磨菇芸,即现在的刷机大师,成功的root了手机。。接下来的活儿,就是裁手机上的一些应用。最好还是用刷机大师在手机端的软件来裁。如果自己不清楚的应用,千万不要过早的删掉。下载RA管理器,把手机设置成rw模式。或者是adb shell后,su成功后
2013-02-02 16:13:39
1774
原创 ubuntu上的HDMI数据线带来的音频视频问题
我自己家用的电脑是一个笔记本,最大分辨率到1366x768,带HDMI接口。自己太喜欢大屏幕了,入手了一台23英寸的IPS显示器。带HDMI接口。视频和音频的配置就麻烦起来了。1. 视频安装包我的笔记本上用的是NVIDIA的GT630M的显示芯片。自己从nvidia的官网上下了最新版的linux 64bit的驱动。把二进制包(我的二进
2013-01-02 16:19:38
4167
转载 打印二叉树的图
原文链接:http://download.csdn.net/detail/hne71/2725268二叉树在linux的终端打印的示例#include #include #define MaxSize 100/*Pstart是二叉树根结点在一行中的位置,一行最能打印124个字符,取其1/2。如果你的屏不够宽的话,可以输出文本文件里, aa.exe>>aa.txt
2012-09-14 12:01:43
1816
原创 ubuntu 11.10 找不到DNS
最近新装了一台ubuntu 11.10的机器,为了使用固定IP, 直接把/etc/network/interfaces改成了固定IP,指定了网关和子网掩码。麻烦就由此而来了。机器只要一重启,就无法找到DNS服务器。不管多少次一直是这样。我们知道。ubuntu读取DNS的配置文件为/etc/resolv.conf,即使在里面指定了nameserver的IP地址,只要机器一重启
2012-04-18 13:29:56
2452
原创 windows下使用vim及其带来的问题
一般在家还是用windows环境。看看代码,一般还是需要用vim和两个插件ctags.exe和taglist. 首先下载windows下的vim,安装,没有问题。 接着找到ctags.exe和taglist插件,下载。也没问题 为了省事,直接把ctags.exe拷到你的windows的system32目录下。 在windows系统下必须注意这一点把taglist
2012-03-29 07:25:21
2635
原创 C语言的另类结构体赋值
这几天看Linux的内核源码,突然看到init_pid_ns这个结构体变量的赋值特别奇怪。struct pid_namespace init_pid_ns = { .kref = { .refcount = ATOMIC_INIT(2), }, .pidmap = { [ 0 ... PIDMAP_ENTRIES-1
2011-11-24 09:46:53
3020
6
最牛的linux的shell命令集合
2010-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人