Coder Social home page Coder Social logo

edgex-go's Introduction

EdgeX Foundry Services

Go Report Card license

EdgeX Foundry is a vendor-neutral open source project hosted by The Linux Foundation building a common open framework for IoT edge computing. At the heart of the project is an interoperability framework hosted within a full hardware- and OS-agnostic reference software platform to enable an ecosystem of plug-and-play components that unifies the marketplace and accelerates the deployment of IoT solutions. This repository contains the Go implementation of EdgeX Foundry microservices. It also includes files for building the services, containerizing the services, and initializing (bootstrapping) the services.

Get Started

EdgeX provides docker images in our organization's DockerHub page. They can be launched easily with docker-compose.

The simplest way to get started is to fetch the latest docker-compose.yml and start the EdgeX containers:

wget https://raw.githubusercontent.com/edgexfoundry/developer-scripts/master/compose-files/docker-compose.yml
docker-compose up -d

You can check the status of your running EdgeX services by going to http://localhost:8500/

Now that you have EdgeX up and running, you can follow our API Walkthrough to learn how the different services work together to connect IoT devices to cloud services.

Other installation and deployment options

Snap Package

EdgeX Foundry is also available as a snap package, for more details on the snap, including how to install it, please refer to EdgeX snap

Native binaries

Prerequisites

Glide

curl https://glide.sh/get | sh

pkg-config

go get github.com/rjeczalik/pkgconfig/cmd/pkg-config

ZeroMQ

Several EdgeX Foundry services depend on ZeroMQ for communications by default.

The easiest way to get and install ZeroMQ on Linux is to use this setup script.

For MacOS, use brew:

brew install zeromq

Please note that the necessary pc file will need to be added to the PKG_CONFIG_PATH environment variable. For example PKG_CONFIG_PATH=/usr/local/Cellar/zeromq/4.2.5/lib/pkgconfig/

Note: Setup of the ZeroMQ library is not supported on Windows plaforms.

Installation and Execution

To fetch the code and build the microservice execute the following:

cd $GOPATH/src
go get github.com/edgexfoundry/edgex-go
cd $GOPATH/src/github.com/edgexfoundry/edgex-go
# pull the 3rd party / vendor packages
make prepare
# build the microservices
make build
# run the services
make run

Note You will need to have the database running before you execute make run. If you don't want to install a database locally, you can bring one up via their respective Docker containers.

Compiled Binaries

During development phase, it is important to run compiled binaries (not containers).

There is a script in bin directory that can help you launch the whole EdgeX system:

cd bin
./edgex-launch.sh

Build your own Docker Containers

This project has facilities to create and run your own Docker containers.

Prerequisites

See https://docs.docker.com/install/ to learn how to obtain and install Docker.

Installation and Execution

cd $GOPATH/src
go get github.com/edgexfoundry/edgex-go
cd $GOPATH/src/github.com/edgexfoundry/edgex-go
# To create the Docker images
sudo make docker
# To run the containers
sudo make run_docker

Community

License

Apache-2.0

edgex-go's People

Contributors

tsconn23 avatar anonymouse64 avatar feclare avatar jpwhitemn avatar jduranf avatar spencerbull avatar brandonforster avatar trcox avatar drasko avatar yanghua avatar akramtexas avatar davidmsh avatar janko-isidorovic avatar xmlviking avatar steveoss avatar tonyespy avatar jpwku avatar m-masataka avatar dylanhantula avatar jwagantall avatar jdharms avatar andresrinivasan avatar andyf1967 avatar mhall119 avatar cloudxxx8 avatar weichou1229 avatar changdavid418 avatar mijicd avatar chuyval avatar gkorland avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.