Giter Site home page Giter Site logo

brookst / pinesam Goto Github PK

View Code? Open in Web Editor NEW

This project forked from builder555/pinesam

0.0 0.0 0.0 8.23 MB

UI for Pinecil V2 - control it over BLE from your PC or your mobile.

License: MIT License

Shell 2.51% JavaScript 20.36% Python 45.24% PowerShell 1.03% CSS 2.04% HTML 0.61% Batchfile 0.54% Vue 27.27% Dockerfile 0.40%

pinesam's Introduction

Hits contributors welcome Download (all releases) Latest release bluetooth



Pinecil Settings and Menus

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

NB: No special browser BLE GATT or flags required and works on all major OS/devices.

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

Full settings view


Features

  • Automatically detect Pinecil V2 over BLE.
  • Control all settings on the device.
  • Save to Flash: toggle to save changes directly onto Pinecil (leave off unless actively changing settings).
  • Work HUD main screen with: Set °C/°F [+][-] buttons, live tip °C/°F updates, peak watts, live watts, input voltage.
  • Graph with tip temperature and power provides a quick overview of the device.
  • Preset buttons to allow quick change of user defined temperatures (PineSAM extra feature not available directly inside Pinecil).
  • Backend runs locally on all major platforms/OS while the user interface runs on your favorite browser.
  • Usage details here.

Supported

System MacOS Linux Windows Phones
UI ✔️ ✔️ ✔️ ✔️
backend ✔️ ✔️ ✔️

🖥️ Install Options

I. Easy Method

  1. Install one of the binary packages made for your OS; does not require install of python or node.js.

  2. Download latest release here for your specific OS (Mac, Linux, Windows).

  3. Mac/Linux: extract and run ./start.sh in terminal.

  4. Windows:

    • right click on the zip, properties> general, check box to Unblock, then extract (reference).
    • Run powershell as admin, cd to the pinesam folder and .\start.ps1
    • Allow any windows pop-up warnings about "serve.exe" and "main_sever.exe".
    • If you get errors in powershell, set the permissions to RemoteSigned to allow scripts (reference).
      • C:\> Set-ExecutionPolicy RemoteSigned
    • Browser will automatically open http://localhost:8080
    • Usage guide here.

II. Build the Dev version (Source-all-_.zip)

This ultimately creates the same PineSAM as in the premade binaries. Install this if there is an issue with the binaries or you are doing dev work.
For the backend script, first install:

Mac/Linux install

Setup

Install all packages linked above first.

git clone https://github.com/builder555/PineSAM
cd PineSAM
chmod +x setup-dev.sh
chmod +x run-dev.sh
./setup-dev.sh

Run

./run-dev.sh
# press CTRL+C in the terminal window to stop

Windows dev install

Install

Install the packages linked above for the backend script. Skip to 4 if you did this already.

  1. Python install notes
    • Check "Add python.exe to PATH" and select "Customize Installation"
    • Check "Add Python to environment variables" option
    • Screenshots of options to select are here.
  2. Install NodeJS here, accept all prompts to add packages during install including a prompt in the terminal that opens.
  3. After installing packages listed for backend script (reference), go to System Environment variables to check paths (image).
  4. Download the Source-all-__.zip from the latest release.
  5. Right click the zip > properties, if it has an Unblock option, then check unblock and extract (example).
  6. Run powershell as administrator, set permissions to RemoteSigned (image here).
# setting this one time in powershell normally persists on reboots.
C:\ Set-ExecutionPolicy RemoteSigned

Run

  1. change directory, cd into the PineSAM folder that was extracted above.
.\setup-dev.bat   # only need to run this one time for each new version
.\run-dev.bat     # run this command every time to start PineSAM (do not need to run as admin)
 

📶 Remote access

You can access the settings remotely once the app is running on the main PC/laptop.

  • Find the local IP address of the device running the app.
  • open http://<ip-address>:8080/ on the second device on the same network (e.g., a phone).
  • Pinecil needs to be within BLE range of the computer running the PineSAM app.

🚧 Known issues

  1. 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
  2. Pinecil not detected

    • possible reason: you paired your Pinecil using system settings. solution: unpair it from all other places.
    • possible reason: using older firmware (below 2.21). solution: flash current BLE firmware; below IronOS 2.21 only BETA versions will work with PineSAM.
  3. main_server script terminal crashes on start of script: incompatible version of IronOS, check/update firmware see above.

  4. Windows Powershell issue

    • windows by default does not allow any scripts to run in powershell. Make sure the zip file property is Unblock (reference) and set powershell to remotesigned with:
      set-executionpolicy remotesigned
    • check that windows has not reset the permissions in powershell with Get-ExecutionPolicy and change it back to RemoteSigned if needed (reference).
  5. See the Discussions section for install hints and solutions to some common issues.

  6. PineSAM usage instructions here.

  7. Something else: open an issue.


🛠️ Running Unit tests

# run inside 'backend' directory:
pipenv run test

📖 References

Contributors

Robert');
Robert'); DROP TABLE students; --
river-mochi/
river-mochi
Tim
Tim Brooks
Neil
Neil Hanlon
MagicLike/
MagicLike
Spagett/
Spagett
Kristian
Kristian Kosev
mcraa/
mcraa

pinesam's People

Contributors

builder555 avatar river-mochi avatar github-actions[bot] avatar brookst avatar neilhanlon avatar magiclike avatar spagett1 avatar krisstakos avatar mcraa 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.