Alios-Things的学习与使用

1.简介

AliOS Things发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源。

AliOS Things 支持多种CPU架构,包括:ARM,C-Sky,MIPS,rl78,rx600,xtensa等。同时AliOS Things也支持相当多的开发板。

以下简称 alios , 其支持接入阿里的飞燕平台,拥有从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。最重要的是,支持接入多种物联网平台,包括阿里智能天猫精灵、亚马逊云、Google Home音箱控制;

1.1 为什么要学alios-Things

前面已经提到了,其支持的阿里飞燕平台,提供了从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。平台具有高稳定、高并发、高安全、强生态的特点。

综上所述,对于一些中小企业公司来说,可以免去搭建硬服务器这块硬伤,因为做好一个服务器,考虑到均衡负载、高并发的稳定性,考虑到大数据统计,以及全球部署,维护起来都是很大的一笔费用。

因此,接入阿里的飞燕平台是个不错的选择。其由我们的阿里云服务器支持,有我们的淘宝、支付宝等支持,对于国内确实是个不错的选择第三方平台。既然阿里飞燕平台这么强大,那么阿里也是提供了嵌入式开发系统Alios-Things,目前一直在增加支持更多的芯片,包括大家熟悉的 stm32、庆科的 3080,当然啦,还有乐鑫的 esp8266和esp32,都一直在适配中。后续我会教大家怎么移植底层外设的教程。

2. 环境搭建

在win10上安装docker

2.1 使用docker toolbox安装docker

对于windows用户来说,使用docker toolbox来安装docker是最简单的方式。

首先需要检查系统是否符合要求

并且要开启硬件虚拟化的技术

下载dockertool

https://docs.docker.com/toolbox/toolbox_install_windows/

安装完成会有下面的图标

点击第二个

首先确定有boot2docker这个文件

然后打开一个bash

执行下面的语句

docker-machine.exe create --driver virtualbox --virtualbox-boot2docker-url=boot2docker.iso default

最后打开

Docker Quickstart Terminal

2.2 测试使用dockder

输入

docker run hello-world

3.使用docker引擎在容器中运行镜像

我们可以到Docker Hub上获取别人的docker镜像

https://hub.docker.com/r/docker/whalesay

获取代码

docker pull docker/whalesay

运行程序

docker run docker/whalesay cowsay boo

whalesay程序是让鲨鱼说话

docker run docker/whalesay cowsay hello-jinjin

查看docker镜像

docker images

3.1 在docker中运行自己编写的镜像

在这里我们使用一个简单的操作,让鲨鱼自己说话

FORM 关键字告诉Docker我们的镜像将基于哪一个镜像。这个的意思是说我们即将创建的镜像将给予whalesay镜像

fortunes程序有一个用来打印出一些话的命令,可以用来作为我们的whale说出的话。所以,首先我们需要先安装fortunes。

RUN apt-get -y update && apt-get install -y fortunes

这一行命令使用的是apt-get程序来下载和安装fortunes.

新添加的这一行告诉fortune程序输出它的结果作为输入给cowsay程序(管道)

在终端中运行 docker build -t docker-whale . 命令(注意最后有一个点‘.’,表示Dockerfile文件在当前的目录下),这条命令的意思是利用当前目录下的Dockerfile来创建一个叫做docker-whale的镜像 。

查看运行效果

4. 在vscode上安装alios-studio

2、安装alios-things的docker镜像

方法A:

 有能力的同学可以参考我在github给出的dockerfile文件(当然也可以不参考),自己搭建一个docker镜像

https://github.com/lanjackg2003/alios-things-docker.git

方法B:

 直接从dockerhub服务器通过pull方式获取我编译好的镜像,方法如图2

https://hub.docker.com/r/jacklan/alios-things-docker

docker pull jacklan/alios-things-docker

完成后效果如下:

到这里,Windows上环境已经搭建完成。

5. 代码编译

下面clone alios-thing代码

git clone https://github.com/alibaba/AliOS-Things

下载完成要很久,现在已经很晚了。先休息。明天继续

Alios-Things的学习与使用(1)的更多相关文章

  1. 英特尔、联发科、展讯等开始支持开源的物联网轻量化操作系统AliOS Lite

    操作系统AliOS Lite Chaos 12-21 11:03 在 12 月 20 日的云栖大会北京峰会上,阿里宣布即将开源 AliOS Lite,此前面向 IoT 领域的轻量级物联网嵌入式操作系统 ...

  2. 为你的AliOS Things应用增加自定义cli命令

    摘要: 怎么才能在RTOS系统中,通过 串口shell控制LED的开关. 在日常嵌入式开发中,我们经常会用串口命令来使设备进入某种特定的状态,或执行某个特定的操作.如系统自检,模拟运行,或者进入手动模 ...

  3. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  4. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  5. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  6. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  7. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  8. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  9. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

随机推荐

  1. JavaSE 学习笔记之Java语法基础(二)

    1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:其实就是在程序中自定义的名词.比如类名,变量名,函数名.包含 0-9. ...

  2. 使用MySQL Migration Toolkit快速导入Oracle数据

    近来笔者有项目需要将原有的Oracle数据库中的数据导入到MySQL中,经过试用发现MySQL GUI Tools中的MySQL Migration Toolkit可以非常方便快捷的将Oracle数据 ...

  3. 洛谷 P1903 BZOJ 2120 清橙 A1274【模板】分块/带修改莫队(数颜色)(周奕超)

    试题来源 2011中国国家集训队命题答辩 题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔 ...

  4. Spring 学习二-----AOP的原理与简单实践

    一.Spring  AOP的原理 AOP全名Aspect-Oriented Programming,中文直译为面向切面(方面)编程.何为切面,就比如说我们系统中的权限管理,日志,事务等我们都可以将其看 ...

  5. atomikos实现多数据源支持分布式事务管理(spring、tomcat、JTA)

    原文链接:http://iteye.blog.163.com/blog/static/1863080962012102945116222/   Atomikos TransactionsEssenti ...

  6. iOS不同版本号适配问题(#ifdef __IPHONE_7_0)

    部分參考http://www.cnblogs.com/ios8/p/ios-version-com.html 以下举个简单的样例来说明在iOS7.0和iOS6.1(以及更低版本号)之间的适配问题(用的 ...

  7. winform设置超时时间

    ); //设置超时时间 var completedTask = await Task.WhenAny(new Task(async () => { );//执行的方法示例这里用延迟代替 }), ...

  8. Unity3D与JSP TomCatserver传递数据和文件( 二 ) Unity3D向java传输表单

    扫码关注微信公众号,获取最新资源 经历了一天的工作.我又来更新啦...白天手欠,把上一个给删了.明天重写吧.. 废话不多说.我们先去Unity里创建一个能够输入username和password的登录 ...

  9. element-UI中table表格的@row-click事件和@selection-change耦合了

    <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark&quo ...

  10. h5-7 canvas

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...