Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iotserv/mcunode-server
McuNode 私有服务器
https://github.com/iotserv/mcunode-server
mcunode-server nodemcu nodemcu-ide webide
Last synced: 15 days ago
JSON representation
McuNode 私有服务器
- Host: GitHub
- URL: https://github.com/iotserv/mcunode-server
- Owner: IoTServ
- License: mit
- Created: 2017-05-13T09:52:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-10-19T04:01:06.000Z (about 5 years ago)
- Last Synced: 2024-10-25T06:48:30.106Z (23 days ago)
- Topics: mcunode-server, nodemcu, nodemcu-ide, webide
- Language: JavaScript
- Size: 131 MB
- Stars: 31
- Watchers: 6
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Please use https://github.com/OpenIoTHub/OpenIoTHub for remote control
# 当前项目已经封存,请使用 https://github.com/OpenIoTHub/OpenIoTHub 来获得esp8266等的设备的远程访问能力
## McuNode-server### Free servers who use this program list :
* http://eiot.club/#### McuNode server side,McuNode私有化服务端(ThreeFileVersion Recommend)
###### powered by BeeGo Firmwork
### 运行需要同时把对应架构的二进制程序和static与views两个文件夹放在同一个文件夹中
MCUNODE连接此服务端的8001
浏览器打开 http://127.0.0.1:<80/8080>/ 或者对应的公网ip
#### NODEMCU推荐使用https://github.com/IoTServ/McuNode-Lib 连接,该库集成了两种功能在一起并存
##### 当然你也可以使用分开的程序来定制自己的程序,https://github.com/IoTServ/McuNode#### 树莓派请使用LinuxArm和两个文件夹 或者你使用单文件的版本
##McuNode简介:
### 总览:
#### McuNode是一个主要针对于NodeMcu的服务端(包含在NodeMcu上运行的支持库),使用者可以运行自己的服务端为自己nodemcu提供云支持,当然你也可以将此服务端提供给他人使用,当前服务端由go语言编写理论上一般单核服务器可以支持多达几万的nodemcu同时连接提供服务。本项目主要支持如下功能:
* 提供在线IDE功能(IDE提供一个基于web的云串口功能,完全实现原本的串口的lua解释器的访问功能;并且提供远程Lua程序升级功能实现基于互联网的完全的控制能力)
![image](https://github.com/IoTServ/McuNode-server/blob/master/imgs/mcunode.png?raw=true)
![image](https://github.com/IoTServ/McuNode-server/blob/master/imgs/download.png?raw=true)
* 提供一个类似于Nginx的web代理功能,它可以通过一个可以通过互联网访问的服务器访问nodemcu提供的网页,以此nodemcu编写的web server不仅可以在局域网可以访问,更重要的是McuNode-Lib还提供了一个很棒的文本框架帮助你完成这项工作,包括参数获取和模板文件的渲染等
![image](https://github.com/IoTServ/McuNode-server/blob/master/imgs/webProxy.png?raw=true)
![image](https://github.com/IoTServ/McuNode-server/blob/master/NODEMCU%20Lua%20Demo(template%20file%20included)/WebProxyDemo/LEDremote/%E6%88%AA%E5%9B%BE.png?raw=true)
### 使用方法:
* 你可以使用我们提供的库(https://github.com/IoTServ/McuNode-Lib 通过简单的几行代码就可以体验大部分功能:
~~~Lua
local mcunode = require "mcunode"
mcunode.connect("","","","") --自定义ID和使用的服务器地址(域名或ip),然后就是连接的热点信息
~~~
复杂一些的例子:
~~~Lua
local mcunode = require "mcunode"--url:http://mcunodeserver-ip/proxy//gpio?pin=1&val=0
--return:status=success
mcunode.handle("/gpio",function(req,res)
local pin = req.getParam("pin")
local val = req.getParam("val")
if( pin ~= nil) and (val ~= nil) then
print("pin: "..pin .." , val: " ..val)
gpio.mode(pin, gpio.OUTPUT)
gpio.write(pin, val)
res.setAttribute("status","success")
end
return res
end)
mcunode.handle("/test",function(req,res)
local name = req.getParam("name")
res.setAttribute("name",name)
res.body="wodename:{{name}}"
return res
end)
--url:http://mcunodeserver-ip/proxy//index.html?name=farry&work=student
mcunode.handle("/index.html",function(req,res)
local name = req.getParam("name")
res.setAttribute("name",name)
local work = req.getParam("work")
res.setAttribute("work",work)
res.file = "indextpl.html" -- ...{{name}}
...
return res
end)
mcunode.connect("","","","")
~~~
以上的复杂一些的例子需要一个模板文件indextpl.html,内容如下:
~~~HtmlHELLO Farry
{{name}}:{{work}}HELLO Farry
HELLO Farry
HELLO Farry
HELLO Farry
HELLO Farry
~~~
这个模板会被注册为/index.html的地址所使用,持续中先从URL中获取两个参数然后将两个参数又渲染到模板反馈给用户
#### 而且以上两个程序已经同时支持了在线IDE的功能* 当然如果你觉得有些功能用不上或者库太大,你也可以从这里:https://github.com/IoTServ/McuNode-server/tree/master/NODEMCU%E7%94%A8Lua%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B 找到一些有用的信息定制自己的代码
### 非常希望 有人能提供运行本服务端的实例给大家使用,如果有请与我联系,我将在这里提供相关信息