同步操作将从 YoMo/yomo 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
YoMo is an open-source project for building your own IoT edge computing applications. With YoMo, you can speed up the development of microservices-based applications, and your industrial IoT platform will take full advantage of the low latency and high bandwidth brought by 5G.
More info at yomo.run.
Create a directory named yomotest
and cd
into it.
mkdir yomotest
cd yomotest
Make the current directory the root of a module by using go mod init
.
go mod init yomotest
Download and install.
go get -u github.com/yomorun/yomo
echo.go
To check that YoMo is installed correctly on your device, create a file named echo.go
and copy the following code to your file:
package main
// import yomo
import (
"github.com/yomorun/yomo/pkg/yomo"
)
func main() {
// run echo plugin and monitor port 4241; data will be sent by yomo egde
// yomo.Run(&EchoPlugin{}, "0.0.0.0:4241")
// a method for development and testing; when connected to the Internet, it will
// automatically connect to the development server of yomo.run
// after successfully connected to the server, the plugin will receive the value
// of the key specified by the Observed() method every 2 seconds
yomo.RunDev(&EchoPlugin{}, "localhost:4241")
}
// EchoPlugin - a yomo plugin that converts received data into strings and appends
// additional information to the strings; the modified data will flow to the next plugin
type EchoPlugin struct{}
// Handle - this method will be called when data flows in; the Observed() method is used
// to tell yomo which key the plugin should monitor; the parameter value is what the plugin
// needs to process
func (p *EchoPlugin) Handle(value interface{}) (interface{}, error) {
return value.(string) + "✅", nil
}
// Observed - returns a value of type string, which is the key monitored by echo plugin;
// the corresponding value will be passed into the Handle() method as an object
func (p EchoPlugin) Observed() string {
return "name"
}
// Name - sets the name of a given plugin p (mainly used for debugging)
func (p *EchoPlugin) Name() string {
return "EchoPlugin"
}
// Mold describe the struct of `Observed` value
func (p EchoPlugin) Mold() interface{} {
return ""
}
go run echo.go
from the terminal. If YoMo is installed successfully, you will see the following message:% go run a.go
[EchoPlugin:6031]2020/07/06 22:14:20 plugin service start... [localhost:4241]
name:yomo!✅
name:yomo!✅
name:yomo!✅
name:yomo!✅
name:yomo!✅
^Csignal: interrupt
Congratulations! You have written and tested your first YoMo app.
Note: If you want to use a complex Mold, please refer to yomo-echo-plugin.
yomo-edge
: deployed on company intranet; responsible for receiving device data and executing each yomo-plugin in turn according to the configurationyomo-plugin
: can be deployed on public cloud, private cloud, and yomo-edge-server
yomo-codec
optimizes decoding performance. For more information, visit its own repository on GitHub.First off, thank you for considering making contributions. It's people like you that make YoMo better. There are many ways in which you can participate in the project, for example:
File a bug report. Be sure to include information like what version of YoMo you are using, what your operating system is, and steps to recreate the bug.
Suggest a new feature.
Read our contributing guidelines to learn about what types of contributions we are looking for.
We have also adopted a code of conduct that we expect project participants to adhere to.
Email us at yomo@cel.la. Any feedback would be greatly appreciated!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。