收藏官网首页
查看: 23197|回复: 9

我正在写了一个物联网教程(包含软硬件),分享给...

6

主题

23

帖子

348

积分

中级会员

Rank: 3Rank: 3

积分
348
跳转到指定楼层
楼主
发表于 2018-5-6 17:54:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
本帖最后由 生子当如哈士奇 于 2018-5-6 17:58 编辑

软硬结合——写给硬件开发工程师的全栈入门实战

软硬件结合可以说是所有硬件开发人员心中的一大追求,当一个人技能树上点亮了软硬件,所有创意想法基本都能靠自己去实现。
最新更新时间:2018/05/06,教程会随着时间不断更新,请关注项目地址

教程压缩包附件,100多M只能网盘分享:https://pan.baidu.com/s/1ojwOpy0toGSVJAD3YfdybQ

作者水平

2017年毕业时做的毕业设计是一个物联网项目,硬件上是STM32+esp8266,自己搭服务器(nodejs+mongodb),客户端做网站、做微信小程序(我觉得我是第一个用微信小程序做毕设的人),ESP8266与服务器之间的通信是基于websocket的(这个编译固件很麻烦),打算将这个项目重构并写出教程,针对硬件开发人员写的全栈应用开发入门实战。2018年开始写这教程时,我的水平是毕业不足一年,是初级全栈工程师(不足一年经验)+ 略懂硬件开发,经验并不是很足,但我怕再不写以后就更没时间写了,若发现有任何问题一定要提Issues。

  • 毕设PPT截图:
读者水平要求
  • 不怕折腾
  • 不是伸手党
  • 有基本的硬件发开经验
整个项目简单介绍

整个项目会完完整整地做一个物联网应用,包含软硬件。先用通俗的话具体地讲一下,在一块主板在宿舍运行,我在课室里通过手机打开网页,看到现在宿舍实时温度,并且通过手机点击按钮把LED灯打开了。

整个过程包含以下过程:


教程特点
  • 整个项目部署运行傻瓜式地教,保证整个项目能在读者手上运行起来。
  • 尽可能地解答会卡住大家继续项目走下去的所有问题。
  • 我不生产水,我只是水的搬运工,别人已经写好的教程不再重复写,比如HTML的学习,nodejs的学习,linux学习等等,都会告诉你们怎么利用网络搜索需要自学的教程,__眼前有景道不得,崔颢题诗在上头。__此教程做的只是连珠成串,此教程重点在于点明方向,告诉你将要学习的东西
  • 教程涉及的内容十分广,如果是去培训班估计也要培训几个月,学起来会有一种“炸”的感觉,大家切记,不要深究难点。因为要做某件事,所以我要学习某个知识点,暂时用不到的只需要知道有这东西存在,知道它能解决什么问题即可
  • 先用后学,一开始不必搞懂所有概念,先用起来,知道是有什么效果的,然后再学习。
  • 这个教程会随着读者的提问,反思是哪个环节内容不足,然后不断补充内容。也会随着我能力的提升,不断增加教程里的内容。
为什么使用nodejs

因为实现全栈的最低学习成本的语言是javascript,一门javascript搞定网页,PC端软件,后台服务器,手机APP的开发。不用学PHP,不用学C#,不用学JAVA~

开始
  • 百度git 并运行安装
  • 在桌面上右键点击 git bash Here
  • 输入git clone https://github.com/alwxkxk/sofe-and-hard.git(聪明人&懒鬼一般会复制粘贴)
  • 可以看到下载了一个文件夹,进去点击第一次阅读.html
  • 整个教程在不断更新中,进入文件并运行git pull即可更新。
  • 之后就进入到Part1 点击index.html正式开始阅读。


提问

整个教程都是在gitHub上开源,所以必须要学习git(软件开发必学),遇到任何问题提Issues。

提问之前
  • 新手入门问题,95%都已经被提问过,并且被解答。搜索是最快的解决问题手段
  • 提问之前必须是你应当尽力尝试解决过,搜索过,在Issues搜索过没有重复才提问。
提问规范
  • 要精确定价位置,是Part1第几节的哪一步报错卡住了,附上图片。
  • 描述一下你尝试解决问题的过程与现象。
教程目录 与 安排Part1

Part1 让项目运行
整个项目介绍并让大家先简单地运行起来~ 包含ESP8622烧录固件,各环节自调与联调。

  • 前提:有一定硬件调试经验(USART串口调试,AT指令)
  • 成果:把Part1 的demo运行起来,实现本地WIFI下手机监控硬件。
  • 关键词:STM32、串口调试、AT指令、ESP8266、git、网络调试助手
  • 耗时:估计5到8小时
Part2

讲解Part1 demo,包含静态网页制作,express框架。

  • 成果:简单的网页开发与Nodejs应该能入门了,有能力修改出自己想要的页面效果。
  • 关键词:HTML、Javascript、CSS、Jquery、bootstrap、w3cschool、菜鸟教程、《深入浅出nodejs》、《七天学会NodeJS》、TCP服务器、express
  • 耗时:自学网页开发(估计5到8天),自学nodejs(估计5到10天),共估计10到20天差不多能入个门。1天按8到12个小时来计算(超高强度),下面同理
Part3

将Part1 demo运行在云服务器上,主要是学习linux(ubuntu),云服务器各种折腾。

  • 成果:Linux初步入门、部署到云服务器上,此时真正实现远程监控硬件。
  • 关键词:ubuntu、云服务器、vi、《鳥哥的 Linux 私房菜》、bash、Xshell、winSCP
  • 耗时:自学linux估计5到10天左右能入个门。
Part4

引入mongoDB数据库,将数据保存到数据库里,并将历史数据可视化。
(可选学)并讲一些协议,包含TCP协议(讲一下基于TCP自定义自己的协议规则),HTTP协议,websocket协议。然后会进行优化,如把HTTP轮询换成websocket协议。

  • 成果:完成Part4 demo,数据可视化会让整个效果更炫,增加实时性,这个物联网项目基本成型。
  • 关键词:《计算机网络》、tcpdump、wireshark、《TCP/IP详解》、socketio库、echart库、TLV格式
  • 耗时:数据可视化几个小时入个门,数据库估计2天入门,协议简单地点一下1天,要想跟着继续深入可能要多花几天。整个可能需要5到10天吧。
Part5

Part5及往后看阅读情况写吧。
各种性能测试与优化,ESP8266的AT固件改成自己编译的固件(这个蛮难搞的),说一下各物联网平台

  • 关键词:redis、nginx、CDN
Part6

使用electron开发PC桌面软件,使用ionic开发手机APP。

  • 关键词:electron、ionic
题外话

如果是学生想多点动手的机会,可以跟着老师混,相当于给老师打杂,而老师会给你提供实验室和项目与一定的经费给你做项目,做项目的过程能积累自己的能力。毕竟示波器、各种仪器各种元器件都是钱啊~如果恰好你是华南某农业大学的学生,想去跟老师混的话可以找找孙道宗老师。
这份教程是免费的,让拥有自学能力的朋友们有个学习指引,如果想让这份教程更好地发展,在github里打个星星~毕竟没什么人看我就懒得优化了,时间很贵的。

**

保留一切权利,禁止商业转载,非商业转载时必须保留此**与网址:https://github.com/alwxkxk/sofe-and-hard

正式开始

Part1 让项目运行



0

主题

1

帖子

54

积分

注册会员

Rank: 2

积分
54
沙发
发表于 2018-5-7 17:39:41 | 只看该作者
顶一下  顺便问一下你怎么设置ESP8266和固定的IP端口通信的?是在GAgent里面修改设置的服务器的IP和端口吗的吗?

点评

1.AT固件 使用AT指令连接。 2.自己编写ESP8266固件就自己决定啦。 我没用过GAgent呢,但本质就是机智云写了一个固件,让你们很方便地配置端口~  详情 回复 发表于 2018-5-7 20:08

0

主题

4

帖子

20

积分

新手上路

Rank: 1

积分
20
板凳
发表于 2018-5-7 19:53:22 | 只看该作者
厉害了,word哥

6

主题

23

帖子

348

积分

中级会员

Rank: 3Rank: 3

积分
348
地板
 楼主| 发表于 2018-5-7 20:08:02 | 只看该作者
员外 发表于 2018-5-7 17:39
顶一下  顺便问一下你怎么设置ESP8266和固定的IP端口通信的?是在GAgent里面修改设置的服务器的IP和端口吗 ...

1.AT固件 使用AT指令连接。
2.自己编写ESP8266固件就自己决定啦。
我没用过GAgent呢,但本质就是机智云写了一个固件,让你们很方便地配置端口~

6

主题

23

帖子

348

积分

中级会员

Rank: 3Rank: 3

积分
348
5#
 楼主| 发表于 2018-5-7 20:29:08 | 只看该作者
教您5分钟接入机智云,实现傻瓜式开发
建议大家下载到本地阅读,有更好的阅读的体验。

网盘地址:https://pan.baidu.com/s/1ojwOpy0toGSVJAD3YfdybQ

140

主题

418

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12646
6#
发表于 2018-5-9 14:45:29 | 只看该作者
我的哥  图片都破损了 看不到

1

主题

22

帖子

524

积分

高级会员

Rank: 4

积分
524
7#
发表于 2018-5-13 11:01:33 | 只看该作者
深有感触,感谢遇到了楼主。突然有了点方向,mark一下。学完再来回复!

点评

哈哈哈,教程重点是点明方向,真正学起来,还是靠个人。  详情 回复 发表于 2018-5-13 11:04

6

主题

23

帖子

348

积分

中级会员

Rank: 3Rank: 3

积分
348
8#
 楼主| 发表于 2018-5-13 11:04:25 | 只看该作者
wlzx059 发表于 2018-5-13 11:01
深有感触,感谢遇到了楼主。突然有了点方向,mark一下。学完再来回复!

这个教程重点是点明方向,真正学起来,还是靠个人。

点评

正在学习中,但是感觉是不是该弄个群比较好交流一点,毕竟不怎么会用那个git  详情 回复 发表于 2018-5-15 11:55

1

主题

22

帖子

524

积分

高级会员

Rank: 4

积分
524
9#
发表于 2018-5-15 11:55:40 | 只看该作者
生子当如哈士奇 发表于 2018-5-13 11:04
这个教程重点是点明方向,真正学起来,还是靠个人。

正在学习中,但是感觉是不是该弄个群比较好交流一点,毕竟不怎么会用那个git

点评

可以,我搞个群。 Q群号:638456092  详情 回复 发表于 2018-5-18 10:34

6

主题

23

帖子

348

积分

中级会员

Rank: 3Rank: 3

积分
348
10#
 楼主| 发表于 2018-5-18 10:34:10 | 只看该作者
校园创客福利
wlzx059 发表于 2018-5-15 11:55
正在学习中,但是感觉是不是该弄个群比较好交流一点,毕竟不怎么会用那个git ...

可以,我搞个群。
Q群号:638456092
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表