Installatie
Vereisten
Section titled “Vereisten”| Onderdeel | Vereiste |
|---|---|
| Node.js | ≥ 16 (18 / 20 LTS aanbevolen) — alleen nodig voor de npm-installer |
| Platform | macOS Intel/Apple Silicon · Linux x64/arm64 · Windows x64/arm64 |
| Netwerk | npm-registry, plus de host waar de binary wordt gedownload (standaard Aliyun OSS) |
| Optioneel | Go-toolchain, alleen bij bouwen vanuit de broncode |
Het npm-pakket is een dunne wrapper: het downloadt bij het eerste gebruik een
vooraf gebouwde, statische Go-binary voor je platform en registreert het
commando sensecraft-cli. De binary zelf heeft geen
runtime-afhankelijkheden.
Installeren (aanbevolen)
Section titled “Installeren (aanbevolen)”Voer de installer uit met npx:
npx @seeed-studio/sensecraft-cli installDit doet het volgende:
- Het downloadt de binary die past bij jouw platform en de pakketversie.
- Het registreert
sensecraft-cliglobaal op jePATH. - Zijn er nog geen inloggegevens en zit je in een interactieve terminal, dan
biedt het de installatiewizard in de browser aan. Wil je in plaats daarvan
een toegangssleutel gebruiken die je in het accountcentrum hebt aangemaakt,
voer dan na de installatie
auth adduit (zie Authenticatie).
Controleer:
sensecraft-cli --versionsensecraft-cli --helpWindows
Section titled “Windows”node -vnpx @seeed-studio/sensecraft-cli installsensecraft-cli --version- Het commando wordt geïnstalleerd als
sensecraft-cli.cmdondernpm prefix -g. - Vindt een nieuwe terminal het niet, voeg die map dan toe aan de systeem-PATH.
- PowerShell 5+ of Windows Terminal wordt aanbevolen; Git Bash werkt meestal ook.
- Sommige antivirusprogramma’s zetten de eerst gedownloade
sensecraft-cli.exein quarantaine — zet de installatiemap op de witte lijst en installeer opnieuw als dat gebeurt.
Uitvoeren zonder installatie
Section titled “Uitvoeren zonder installatie”Elk commando werkt via npx, tegen de prijs van een kleine opstartcontrole per keer:
npx @seeed-studio/sensecraft-cli device listEen specifieke versie installeren
Section titled “Een specifieke versie installeren”npm install -g @seeed-studio/sensecraft-cli@0.1.4Binary-downloads worden geadresseerd als
{RELEASE_BASE}/v{version}/sensecraft-cli-{os}-{arch}[.exe], met als
standaard release-basis
https://sensecraft-statics.oss-us-east-1.aliyuncs.com/static/bin/sensecraft-cli.
Shell-aanvulling (optioneel)
Section titled “Shell-aanvulling (optioneel)”De CLI levert Cobra-completions mee — tab-aanvulling voor commando’s en flags:
# zsh (macOS: pick a directory on your $fpath)sensecraft-cli completion zsh > "${fpath[1]}/_sensecraft-cli"
# bash (Linux)sensecraft-cli completion bash | sudo tee /etc/bash_completion.d/sensecraft-cli
# fishsensecraft-cli completion fish > ~/.config/fish/completions/sensecraft-cli.fishOpen een nieuwe shell om het te laden. Windows: sensecraft-cli completion powershell print het script — voeg het toe aan je $PROFILE.
sensecraft-cli: command not found
Section titled “sensecraft-cli: command not found”Controleer of de installatie is uitgevoerd (npx @seeed-studio/sensecraft-cli install) en bekijk dan of de globale npm-binmap in je PATH staat. De
installer vertelt welke map hij nodig heeft — ontbreekt die in je PATH, dan
eindigt zijn uitvoer met deze hint:
提示: 若无法直接运行 sensecraft-cli,请将以下目录加入 PATH: /Users/you/.npm-global/bin(“Als je sensecraft-cli niet rechtstreeks kunt uitvoeren, voeg dan de volgende map toe aan PATH.”)
Een map aan PATH toevoegen betekent één export-regel in het profielbestand
van je shell zetten, zodat elke nieuwe terminal ermee begint.
macOS / Linux — hier staat zsh; gebruik ~/.bashrc als je shell bash is
(echo $SHELL vertelt welke):
npm prefix -g # common values: # macOS (Homebrew Node): /opt/homebrew → bin dir /opt/homebrew/bin # Linux: ~/.npm-global → bin dir ~/.npm-global/bin
echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.zshrc # or ~/.bashrcsource ~/.zshrcnpm prefix -g print de globale map van npm, en het commando staat in de
submap bin daarvan — dezelfde map die de hint toont.
Windows (PowerShell) — stel het in voor je gebruiker en open daarna een nieuwe terminal:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";" + (npm prefix -g) + "\bin", "User")Open daarna een nieuwe terminal — PATH-wijzigingen gelden alleen voor
shells die daarna starten — en voer opnieuw sensecraft-cli --version uit.
Upgraden
Section titled “Upgraden”npm install -g @seeed-studio/sensecraft-cli@latestDe installer vergelijkt de versiestempel van de gedownloade binary
(vendor/.version) met de versie van het npm-pakket: komen ze overeen, dan
hergebruikt hij de gecachte binary, anders downloadt hij de bijpassende.
Controleer met sensecraft-cli --version.
Blijft de versie weigeren te veranderen, ruim dan zowel het pakket als de npm-cache op en installeer opnieuw:
npm uninstall -g @seeed-studio/sensecraft-clinpm cache clean --forcenpx @seeed-studio/sensecraft-cli@<target-version> installsensecraft-cli --versionVerwijderen
Section titled “Verwijderen”npm uninstall -g @seeed-studio/sensecraft-cliDe binary in de map vendor/ van het pakket wordt mee verwijderd.
Inloggegevens staan buiten het pakket — verwijder ze apart als je klaar
bent met de CLI op die machine:
rm -rf ~/.config/sensecraft-cli # macOS / Linux # Windows: Remove-Item -Recurse "$env:APPDATA\sensecraft-cli"Het verwijderen van de configuratie wist de lokaal opgeslagen toegangssleutels en tokens — zie Authenticatie voor wat er wordt opgeslagen en hoe je afzonderlijke profielen verwijdert.
Offline, intranet en eigen mirrors
Section titled “Offline, intranet en eigen mirrors”Een lokaal gebouwde dist/ gebruiken
Section titled “Een lokaal gebouwde dist/ gebruiken”Bouw de binaries voor alle platformen en wijs de installer er vervolgens naar:
./script/build.sh # in a clone of the source repoexport SENSECRAFT_CLI_LOCAL_DIST="$PWD/dist"npx @seeed-studio/sensecraft-cli installNaar een mirror wijzen
Section titled “Naar een mirror wijzen”export SENSECRAFT_CLI_RELEASE_BASE="https://your-mirror.example.com/sensecraft-cli"npx @seeed-studio/sensecraft-cli installDe mirror moet de release-indeling reproduceren:
…/sensecraft-cli/v0.1.4/sensecraft-cli-darwin-arm64…/sensecraft-cli/v0.1.4/sensecraft-cli-linux-amd64…De download helemaal overslaan
Section titled “De download helemaal overslaan”export SENSECRAFT_CLI_SKIP_DOWNLOAD=1De installatie faalt als vendor/ nog geen binary bevat die bij de huidige
versie past — handig in CI om netwerktoegang uit te sluiten.
Een checksum verifiëren
Section titled “Een checksum verifiëren”Als er een SHA256 voor de release is gepubliceerd:
export SENSECRAFT_CLI_SHA256="<hex digest>"De installatie faalt wanneer de gedownloade bytes niet overeenkomen.
Proxy’s
Section titled “Proxy’s”De installer respecteert de standaard proxyvariabelen van Node en het systeem:
export HTTPS_PROXY=http://proxy.example.com:8080export HTTP_PROXY=http://proxy.example.com:8080Vanuit de broncode bouwen
Section titled “Vanuit de broncode bouwen”git clone https://github.com/Seeed-Solution/sensecraft-cli.gitcd sensecraft-cli
go build -o sensecraft-cli ../sensecraft-cli --version
# all 6 platform binaries, into dist/./script/build.shEén gedragsverschil om te weten: een binary die je zelf hebt gebouwd, leest
zijn configuratie standaard uit de huidige map, terwijl de via npm
geïnstalleerde CLI ~/.config/sensecraft-cli/ leest — zie
Configuratie voor hoe je ze
gelijktrekt met SENSECRAFT_CLI_PATH.
De installatie verifiëren
Section titled “De installatie verifiëren”Sandbox-commando’s geven voorbeeld-JSON terug zonder het netwerk aan te raken — maar ze hebben wel een bestaand profiel nodig, dus maak eerst een gesimuleerd profiel aan (schrijft een nepconfiguratie, geen account nodig):
sensecraft-cli auth init --sandbox # accept the defaults, ~20 secondssensecraft-cli device list --sandboxsensecraft-cli group list --sandboxsensecraft-cli model constants --sandboxsensecraft-cli app list --mine --sandbox(Heeft een commando geen sandboxmodus, dan meldt het simpelweg een fout — dat is verwacht.)