mirror of
https://github.com/jhbruhn/respira.git
synced 2026-01-27 02:13:41 +00:00
Remove readme, for now
This commit is contained in:
parent
3d57853928
commit
675bb2a6cc
1 changed files with 0 additions and 150 deletions
150
README.md
150
README.md
|
|
@ -1,150 +0,0 @@
|
||||||
# Brother Embroidery Machine Web Controller
|
|
||||||
|
|
||||||
A modern web application for controlling Brother embroidery machines via WebBluetooth.
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- **WebBluetooth Connection**: Connect directly to Brother PP1 embroidery machines from your browser
|
|
||||||
- **Pattern Upload**: Load and upload PEN format embroidery files
|
|
||||||
- **Pattern Visualization**: Preview embroidery patterns on an interactive canvas with color information
|
|
||||||
- **Real-time Monitoring**: Monitor sewing progress, position, and status in real-time
|
|
||||||
- **Machine Control**: Start mask trace, start sewing, and manage patterns
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
- Modern browser with WebBluetooth support (Chrome, Edge, Opera)
|
|
||||||
- HTTPS connection (required for WebBluetooth API)
|
|
||||||
- Brother PP1 compatible embroidery machine with BLE
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
### Installation
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm install
|
|
||||||
```
|
|
||||||
|
|
||||||
### Development
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm run dev
|
|
||||||
```
|
|
||||||
|
|
||||||
The application will be available at `http://localhost:5173`
|
|
||||||
|
|
||||||
**Note**: WebBluetooth requires HTTPS. For local development, you can use:
|
|
||||||
- `localhost` (works with HTTP)
|
|
||||||
- A reverse proxy with SSL
|
|
||||||
- Vite's HTTPS mode: `npm run dev -- --https`
|
|
||||||
|
|
||||||
### Build for Production
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm run build
|
|
||||||
```
|
|
||||||
|
|
||||||
The built files will be in the `dist` directory.
|
|
||||||
|
|
||||||
### Preview Production Build
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm run preview
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
1. **Connect to Machine**
|
|
||||||
- Click "Connect to Machine"
|
|
||||||
- Select your Brother embroidery machine from the browser's Bluetooth device picker
|
|
||||||
- Machine information and status will be displayed
|
|
||||||
|
|
||||||
2. **Load Pattern**
|
|
||||||
- Click "Choose PEN File" and select a `.pen` embroidery file
|
|
||||||
- Pattern details and preview will be shown on the canvas
|
|
||||||
- Different colors are displayed in the preview
|
|
||||||
|
|
||||||
3. **Upload to Machine**
|
|
||||||
- Click "Upload to Machine" to transfer the pattern
|
|
||||||
- Upload progress will be shown
|
|
||||||
- Pattern information will be retrieved from the machine
|
|
||||||
|
|
||||||
4. **Start Mask Trace** (optional)
|
|
||||||
- Click "Start Mask Trace" to trace the pattern outline
|
|
||||||
- Confirm on the machine when prompted
|
|
||||||
|
|
||||||
5. **Start Sewing**
|
|
||||||
- Click "Start Sewing" to begin the embroidery process
|
|
||||||
- Real-time progress, position, and status will be displayed
|
|
||||||
- Follow machine prompts for color changes
|
|
||||||
|
|
||||||
6. **Monitor Progress**
|
|
||||||
- View current stitch count and completion percentage
|
|
||||||
- See real-time needle position
|
|
||||||
- Track elapsed time
|
|
||||||
|
|
||||||
## Project Structure
|
|
||||||
|
|
||||||
```
|
|
||||||
web/
|
|
||||||
├── src/
|
|
||||||
│ ├── components/ # React components
|
|
||||||
│ │ ├── MachineConnection.tsx
|
|
||||||
│ │ ├── FileUpload.tsx
|
|
||||||
│ │ ├── PatternCanvas.tsx
|
|
||||||
│ │ └── ProgressMonitor.tsx
|
|
||||||
│ ├── hooks/ # Custom React hooks
|
|
||||||
│ │ └── useBrotherMachine.ts
|
|
||||||
│ ├── services/ # BLE communication
|
|
||||||
│ │ └── BrotherPP1Service.ts
|
|
||||||
│ ├── types/ # TypeScript types
|
|
||||||
│ │ └── machine.ts
|
|
||||||
│ ├── utils/ # Utility functions
|
|
||||||
│ │ └── penParser.ts
|
|
||||||
│ ├── App.tsx # Main application component
|
|
||||||
│ ├── App.css # Application styles
|
|
||||||
│ └── main.tsx # Entry point
|
|
||||||
├── public/ # Static assets
|
|
||||||
├── package.json
|
|
||||||
├── tsconfig.json
|
|
||||||
└── vite.config.ts
|
|
||||||
```
|
|
||||||
|
|
||||||
## Technology Stack
|
|
||||||
|
|
||||||
- **React 18**: UI framework
|
|
||||||
- **TypeScript**: Type safety
|
|
||||||
- **Vite**: Build tool and dev server
|
|
||||||
- **WebBluetooth API**: BLE communication
|
|
||||||
- **HTML5 Canvas**: Pattern visualization
|
|
||||||
|
|
||||||
## Protocol
|
|
||||||
|
|
||||||
The application implements the Brother PP1 BLE protocol:
|
|
||||||
- Service UUID: `a76eb9e0-f3ac-4990-84cf-3a94d2426b2b`
|
|
||||||
- Write Characteristic: `a76eb9e2-f3ac-4990-84cf-3a94d2426b2b`
|
|
||||||
- Read Characteristic: `a76eb9e1-f3ac-4990-84cf-3a94d2426b2b`
|
|
||||||
|
|
||||||
See `../emulator/PROTOCOL.md` for detailed protocol documentation.
|
|
||||||
|
|
||||||
## PEN Format
|
|
||||||
|
|
||||||
The application supports PEN format embroidery files:
|
|
||||||
- Binary format with 4-byte stitch records
|
|
||||||
- Coordinates in 0.1mm units
|
|
||||||
- Supports multiple colors and color changes
|
|
||||||
- Includes jump stitches and flags
|
|
||||||
|
|
||||||
## Browser Compatibility
|
|
||||||
|
|
||||||
WebBluetooth is supported in:
|
|
||||||
- Chrome 56+
|
|
||||||
- Edge 79+
|
|
||||||
- Opera 43+
|
|
||||||
|
|
||||||
**Not supported in:**
|
|
||||||
- Firefox (no WebBluetooth support)
|
|
||||||
- Safari (no WebBluetooth support)
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
MIT
|
|
||||||
Loading…
Reference in a new issue