Code Monkey home page Code Monkey logo

pinesam's Introduction

PineSAM

PineSAM = (pinecil settings and menus)

Why focus on soldering when you can play with the settings instead? With this app you will have full control over your new shiny Pinecil V2 from your computer using bluetooth.

NB: No special browser permissions required

NB: This app needs the python backend to run on a computer, it CANNOT run entirely in the browser unlike Joric's UI.

Full settings view

ย 

Features

  • Automatically detect Pinecil V2 over BLE
  • Get all setting values
  • Modify settings
  • Adjust temperature ranges based on C/F selection
  • Hide Minimum Voltage (per cell) when source is DC
  • Validate setting values before sending to device

Requirements:

  • python 3 (tested with 3.10)
  • pipenv
  • a browser

Mac/Linux

Install

git clone https://github.com/builder555/PineSAM
cd PineSAM/backend
pipenv install
chmod +x start.sh

Run

# from inside the PineSAM/backend directory:
./start.sh

On a Mac http://localhost:8080/settings.html will open in your browser automatically. On linux you need to do it manually (for now).

For Debian 12 instructions, see this post (thanks @scythefwd)

Windows

If you already have python installed, you can skip to step 2.

  1. Install Python: https://www.python.org/downloads
    • Check "Add python.exe to PATH" and select "Customize Installation"
    • Check "Add Python to environment variables" option
    • See a reference screen here Thanks to River-b
  2. Download this repo: https://github.com/builder555/PineSAM/archive/master.zip
  3. Unzip it
  4. Run start.bat file inside the backend directory

Remote access

You can access the settings remotely once the app is running

  • Find the local IP address of the device running the app
  • open http://<ip-address>:8080/settings.html on another device on the same network

Known issues

  • bleak causes Python to crash on Mac: hbldh/bleak#768
    • possible solution: give access to iTerm (or whichever terminal you use) to Bluetooth in Settings
  • Pinecil not detected
  • Setting change is not reflected on the soldering iron
    • some changes require entering the menu on the device itself (or power cycle after saving to flash) before appearing. Example

Testing

Make sure you have pipenv installed.

# run inside 'backend' directory:
pipenv install --dev
pipenv run test

References

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.