particle alternatives and similar packages
Based on the "Third Party APIs" category.
Alternatively, view particle alternatives based on common mentions on social networks and blogs.
-
MongoosePush
MongoosePush is a simple Elixir RESTful service allowing to send push notification via FCM and/or APNS. -
sparkpost
SparkPost client library for Elixir https://developers.sparkpost.com -
elixtagram
:camera: Instagram API client for the Elixir language (elixir-lang) -
google_sheets
Elixir library for fetching Google Spreadsheet data in CSV format -
pay_pal
:money_with_wings: PayPal REST API client for the Elixir language (elixir-lang) -
amazon_product_advertising_client
An Amazon Product Advertising API client for Elixir -
cashier
Cashier is an Elixir library that aims to be an easy to use payment gateway, whilst offering the fault tolerance and scalability benefits of being built on top of Erlang/OTP -
elixir_ipfs_api
The Elixir library that is used to communicate with the IPFS REST endpoint.
Static code analysis for 29 languages.
Do you think we are missing an alternative of particle or a related project?
README
Particle
Particle Cloud API Client for Elixir:
This is an unofficial client for the Particle IoT platform's HTTP API.
Usage
Installation
def deps do
[{:particle, "~> 0.1.0"}]
end
and run mix deps.get
. Now, list the :particle application as your application dependency:
def application do
[applications: [:particle]]
end
Configuration
You will need to set the following configuration variables in your config/config.exs
file:
use Mix.Config
config :particle,
particle_key: System.get_env("PARTICLE_KEY")
Stream Usage
Create a module responsible for the handling of the events. Customize handle_events
for your application.
defmodule MyApp.ParticleEventHandler do
alias Experimental.GenStage
alias Particle.Stream
use GenStage
def start_link() do
GenStage.start_link(__MODULE__, :ok, name: __MODULE__)
end
def init(:ok) do
# Starts a permanent subscription to the broadcaster
# which will automatically start requesting items.
{:consumer, :ok, subscribe_to: [Stream]}
end
def handle_events(events, _from, state) do
IO.inspect events
{:noreply, [], state}
end
end
Start the workers in the Application
.
defmodule MyApp do
use Application
alias Particle.Stream
def start(_type, _args) do
import Supervisor.Spec
children = [
worker(Particle.Stream, ["https://api.particle.io/v1/devices/events/status", Particle.Http, [name: Stream]]), # define url here
worker(MyApp.ParticleEventHandler, [])
]
opts = [strategy: :one_for_one, name: MyApp.Supervisor]
Supervisor.start_link(children, opts)
end
end
*Note that all licence references and agreements mentioned in the particle README section above
are relevant to that project's source code only.