# Meshcore v0.1.0 - Table of Contents > Elixir client for MeshCore companion radios over serial, TCP and BLE. A port of the meshcore_py library. ## Pages - Introduction - [Meshcore](readme.md) - [Getting started](getting-started.md) - [Connecting](connecting.md) - Using the API - [Commands & events](commands-and-events.md) - [Contacts & messaging](contacts-and-messaging.md) - [Channels](channels.md) - [Repeaters & remote nodes](repeaters.md) - [Device management](device-management.md) - [Signing & keys](signing-and-keys.md) - Examples & recipes - [Monitoring & tracing](monitoring-and-tracing.md) - [Bots](bots.md) - [BLE](ble.md) - Reference - [Fault tolerance](fault-tolerance.md) - [Migrating from Python](migrating-from-python.md) - [Changelog](changelog.md) ## Modules - Core - [Meshcore](Meshcore.md): Elixir client for [MeshCore](https://meshcore.io) companion radios. - [Meshcore.Client](Meshcore.Client.md): The session process behind a MeshCore connection. - [Meshcore.Event](Meshcore.Event.md): An event emitted by a MeshCore device or by the library itself. - [Meshcore.Subscription](Meshcore.Subscription.md): Handle returned by `Meshcore.subscribe/3`. - Commands - [Meshcore.Commands](Meshcore.Commands.md): Every device command in one namespace – the equivalent of Python's `meshcore.commands`. - [Meshcore.Commands.Base](Meshcore.Commands.Base.md): Shared plumbing for the command modules. - [Meshcore.Commands.Binary](Meshcore.Commands.Binary.md): Binary and anonymous requests to remote nodes: status, telemetry, min/max/avg telemetry, ACL, neighbours, regions, owner info and basic info. - [Meshcore.Commands.Contact](Meshcore.Commands.Contact.md): Commands for managing the device's contact list. - [Meshcore.Commands.ControlData](Meshcore.Commands.ControlData.md): Control-data commands, used for node discovery. - [Meshcore.Commands.Device](Meshcore.Commands.Device.md): Commands that read or configure the companion device itself. - [Meshcore.Commands.Messaging](Meshcore.Commands.Messaging.md): Sending and receiving messages, remote logins, path discovery, traces and flood scopes. - Transports - [Meshcore.Frame](Meshcore.Frame.md): Stream framing used by the serial and TCP transports. - [Meshcore.Transport](Meshcore.Transport.md): Behaviour implemented by byte transports (serial, TCP, BLE, or your own). - [Meshcore.Transport.BLE](Meshcore.Transport.BLE.md): Bluetooth Low Energy transport (Nordic UART service). - [Meshcore.Transport.BLE.Adapter](Meshcore.Transport.BLE.Adapter.md): Behaviour for the platform-specific half of the BLE transport. - [Meshcore.Transport.Serial](Meshcore.Transport.Serial.md): Serial (USB/UART) transport built on [`circuits_uart`](https://hex.pm/packages/circuits_uart). - [Meshcore.Transport.TCP](Meshcore.Transport.TCP.md): TCP transport (e.g. a WiFi companion firmware or a serial-to-TCP bridge). - Protocol - [Meshcore.Lpp](Meshcore.Lpp.md): Decoder for Cayenne LPP (Low Power Payload) telemetry frames. - [Meshcore.PacketParser](Meshcore.PacketParser.md): Parser for raw LoRa packets seen in `:rx_log_data` events. - [Meshcore.Packets](Meshcore.Packets.md): Protocol constants: command codes, response/push codes and the various request/advert/text type enumerations of the MeshCore companion protocol. - [Meshcore.Parsing](Meshcore.Parsing.md): Parsers for the binary sub-structures carried by status, telemetry and ACL responses. - [Meshcore.Reader](Meshcore.Reader.md): Decodes frames received from the device into `Meshcore.Event`s. - [Meshcore.Util](Meshcore.Util.md): Small binary/encoding helpers shared across the library.