Les bitcoins miniers sur un Nintendo

Ses copains savent [GBG] comme un aficionado de tout ce qui avec un processeur de 6502. Il est également intéressé par Bitcoins. Un moment de retour, un PAL a demandé s’il serait possible de minier des bitcoins avec un ancien système de jouissance Nintendo. Bien que cette idée ait été faite en plaisanterie, ce n’est pas une de ces idées. Oui, il est possible de minier Bitcoins avec un NES et [GBG] est là pour nous montrer comment.

Mining Bitcoins effectue simplement simplement un hachage SHA256 sur une valeur aléatoire du réseau Bitcoin et relayant le résultat de ce calcul sur Internet. Bien sûr, cela nécessite un pont Internet à NES; [GBG] a apporté un PI de framboise pour cette tâche. Il y a cependant le problème d’obtenir des données dans une NE, cependant, et c’est quelque chose que seul une USB Copynes peut gérer. Après avoir fait des mathématiques 32 bits, le NES l’envoie à la Raspberry Pi et sur le réseau Bitcoin.

Lorsque vous considérez que même un ordinateur de jeu haut de gamme a peu de chances d’exploiter un peu de temps abordable, il y a peu de chanson que le rétrominer sera en mesure de mier un bitcoin. Tout cela est aléatoire, cependant, alors qu’il est possible, nous apprécierons simplement la construction incroyable pour l’instant.

Repurée: un court documentaire

C’est un documentaire bit sur le piratage. Fabriqué par [Jack Oats], cette vidéo met un peu de lumière sur la culture des pirates informatiques. Filmé à Foulab lors d’un atelier, il y a beaucoup à voir aussi bien que de profiter. Montrez cela à tous vos amis ainsi que de parents qui sont confus lorsque vous utilisez le terme piratage.

[Via Nycreistor]

Problème libre de Hackin9

jusqu’à minuit Ce soir, vous pouvez télécharger une copie totalement gratuite du problème 1/2008 du magazine Safety and Security Hackin9. Il y a 84pages, 10.5 Mo, ainsi que nécessaire pour vous offrir une adresse électronique qu’ils ne vérifient pas.

[Via taosécurité]

S’envoyer avec MECRISP-Stellaris et Embello

dans le dernier épisode, j’ai préconisé un peu pour le jour des microcontrôleurs étant une plate-forme de développement encore viable, pas seulement pour l’industrie où elle voit normalement ces jours-ci, mais aussi pour les pirates informatiques . Je t’ai peut-être même trompé pour avoir quelques morceaux de matériel bon marché. Cette fois-ci, nous allons obtenir le système de mise en place sur ce matériel et exécuter le «monde Hello» obligatoire et mené clignotant. Mais nous allons également prendre un plongeon dans l’une des caractéristiques qui rendent très soignées sur microcontrôleurs: multitâche facile.

Travailler!

Matériel

MECRISP-Stellaris Forth se déroule sur un grand nombre de microcontrôleurs de bras, mais je me concentrerai ici sur les puces STM32F103 qui sont disponibles pour exceptionnellement peu d’argent sous la forme d’une copie générique de l’érable Mini, souvent appelée une “carte système minimale STM32F103 “Ou” pilule bleue “en raison du facteur de forme, et le fait qu’il y avait des rouges à vendre. Le microcontrôleur à bord peut fonctionner à 72 MHz, dispose de 20 Ko de RAM et de 64 ou 128 kb de flash. Il possède de nombreuses épingles, les numériques uniquement sont de 5 V tolérantes et disposent de tous les périphériques normaux du microcontrôleur. Ce n’est pas le plus efficace de la puissance et il n’a pas d’unité de point flottante ni d’un CAD, mais c’est une vieille conception accidentée disponible pour beaucoup moins d’argent qu’il ne doit l’être.

Programmateur connecté, puissance sur USB
Des merveilles similaires de travaux de production de masse pour le programmeur que vous aurez besoin d’initialement clignoter la puce. L’un des clones de la ST-Link V2 fonctionnera très bien. (Assez ironiquement, le matériel à l’intérieur du programmeur est presque identique à la cible.) Enfin, compte tenu de cela dans une coque interactive, vous aurez besoin d’une connexion série sur la carte STM32. Cela indique probablement un adaptateur USB / série.

Toute cette installation ne coûtera pas beaucoup plus cher que d’un repas de restauration rapide, et le programmeur et l’adaptateur USB / Serial sont des choses que vous voudrez avoir dans votre kit de toute façon, si vous ne le faites pas déjà.

Vous pouvez alimenter le tableau directement via les différents pins 3.3 et GND dispersés autour de la carte, ou via le port micro USB ou les broches 5V sur la carte cible. Ces deux dernières options passent à travers un régulateur de 3,3 V avant de se joindre aux 3,3 broches. Toutes les broches sont interconnectées, il est donc préférable que vous n’utilisiez qu’une seule alimentation à la fois.

Firmware: le système Forth

Allez chercher le paquet Super-Special Hackaday-édition de Makisp Forth de GitHub. Inclus dans le répertoire “ROM” est un système FAI qui fonctionnera pour les démos ici. J’ai chargé dans une base respectable des bibliothèques d’embello exceptionnelles de [JCW]. Afin de fournir des éléments comme une configuration GPIO simple, des fonctions de retard, etc. Il y a beaucoup de nombreuses bibliothèques disponibles et nous les examinerons la prochaine fois que nous en avons besoin.

La chose la plus cool à propos de l’utilisation d’un système Forth est que très peu de logiciels de support est nécessaire de quelque manière que ce soit – l’interprète d’avenir compilait son propre code et vous interagissez avec celui-ci sur le terminal de série. Tout se passe à l’intérieur du microcontrôleur. L’un obstacle, alors, vient sur la puce. Dans les vieux jours, cela devait être fait en basculant manuellement dans les octets manuellement et, en vigueur, est suffisamment petit qui la boorstage littéralement de cette façon est possible. Mais vous avez déjà obtenu ce programmateur de copeaux, non?

Les utilitaires [Texane] sont le moyen le plus simple d’obtenir sur votre puce. Téléchargez-les depuis GitHub et construisez-le vous-même ou essayez votre chance avec votre gestionnaire de paquetage de votre distributeur. (Les gens de Windows, vous n’êtes pas laissé non plus. Bien que ce binaire ne soit pas vu de mises à jour depuis un moment, ça va faire.)

Connectez-vous les fils de programmation de la mode évidente et émettez les commandes magiques ST-Flash Erase et ST-Flash Ecrivez MECRISP-Stellaris-Hackaday-Edition.bin 0x8000000. En cinq secondes, vous serez prêt à gronder.

GND – GND

Swlk – CLK

SWSIO – Dio

Avoir à obtenir un programmeur est un problème si vous n’en avez pas un, mais cela facilitera le reste de votre vie et que l’une est aussi fondamentale que de cliquer sur “payer” et d’attendre. Notre propre [Al Williams] (aucune relation) a un article récent sur l’utilisation du même logiciel de débogage de Code C ou Arduino avec GDB, il vaut donc la peine de la configurer.

Logiciel

Branchement série, alimenté par ordinateur portable
Placez le programmeur pour l’instant et connectez-vous au STM32 sur la série. Le taux de bauds par défaut doit être de 115 200. Si vous n’avez pas encore débranché de puissance, vous devrez peut-être appuyer sur le bouton de réinitialisation de la carte STM32. Si tout s’est bien passé, vous serez accueilli par un crâne familier et des clés croisées. MECRISP s’attend à une ligne de ligne à la fin des lignes. Si vous envoyez LF + CR, vous allez frapper avec succès le retour deux fois.

A9 TX – SERIAL RX

A10 RX – Serial TX

GND – GND

[JCW] ‘S Folie est un important émulateur de terminaux série multi-plateforme pour cette application. Ce qu’il fait que votre programme Terminal normal ne vous permet pas de rentrer à ressaisir une ligne de commande avec la flèche UP-flèche, ce qui facilite beaucoup les erreurs, beaucoup plus facile que de reproduire une commande longue. Ça aussiInclut automatiquement d’autres fichiers que j’ai utilisés substantiels dans la construction du binaire pour cet article. Vous n’avez pas besoin de courir Folie, mais je parie que vous l’aimerez.

Bonjour le monde

Maintenant c’est “Hello World” temps. Si vous êtes neuf pour le début, voici une introduction très sélective. Tapez 2 2 + et appuyez sur Entrée. Ça dit Ok .. c’est rassurant, non? Maintenant tapez. (Lisez «Dot») et il imprimera le résultat non surprenant. Dot est le premier de quelques sténographiés mondiaux au début que vous voudrez internaliser. Beaucoup de commandes avec un point impriment immédiatement leurs résultats. .S (DOT-ESS) imprime le contenu de la pile, par exemple. Deux beaucoup plus d’idiomes que nous verrons beaucoup sont @ pour avoir une variable ou la lecture d’une entrée et! pour définir une variable ou une sortie. Lisez-les comme “Get” et “Set” dans votre tête lors de la numérisation d’un code.

Ensuite, voyons comment écrire une fonction. : Démarre une définition de la fonction et; se termine. Donc: quatre 2 2 +; Définit une fonction qui ajoute deux et deux ensemble. (Et compile-le en temps réel!) Vous pouvez ensuite faire demi-tour et appeler cette fonction immédiatement. Quatre .s vous montrera que notre fonction a laissé la somme de deux et deux sur la pile. En ce sens, les fonctions en avant ne sont pas vraiment des fonctions. Ils ne prennent pas d’arguments explicites ni de retourner des valeurs explicites. Ils opèrent simplement sur toutes les données sur la pile et laissent les résultats là aussi. C’est pourquoi les fonctions sont appelées “mots”. Je vais m’en tenir à cette convention à partir de maintenant.

Ici, enfin, est “Hello World” :: Hw. “Bonjour, Monde!” CR; “Les chaînes sont un peu étranges, principalement à cause de la façon dont la langue est analysée – le compilateur lit jusqu’à un espace, puis exécute ce qu’il a trouvé, il doit donc y avoir un espace entre la chaîne d’impression commande (. “) et le premier caractère que vous souhaitez imprimer. La commande d’impression analyse jusqu’à ce qu’elle trouve une fermeture », cependant, vous n’avez donc pas besoin d’un espace supplémentaire là-bas. CR envoie un retour de chariot. Tapez HW à l’invite. Bonjour, World!

Voyants clignotants

Même si la saisie de texte série et la sortie sont si faciles en avant, clignotent une LED est le standard “Hello World” de microcontrôleurs, il est donc temps pour un GPIO. Étant donné que le système est déjà configuré pour cette carte de microcontrôleur particulière, le tournage d’une LED est aussi simple que de taper LED.ON à l’invite. Voulez-vous l’éteindre? LED.OFF. Le clignotement manuel deviendra vieillir assez rapidement, cependant, écrivons donc un mot de clignotement. : Blink LED.In 100 ms LED.Off 200 ms; fera l’affaire. Essayez Blink Blink Blink Blink. Voir le code de démonstration de mon clignotant pour l’élaboration. (Plus sur MS dans quelques milliers de millisecondes.)

Les détails de l’initialisation GPIO sont cachés dans Core / Hackaday / LED.FS et dans STM32F1 / IO.F de Embello respectivement. Creuser, vous verrez la procédure d’initialisation standard: la goupille particulière est définie comme une sortie en renversant certains bits dans les registres de contrôle périphérique de la STM32. [JCW] a défini un tas de ceux-ci, ce qui permet de définir une broche comme sortie, avec le pilote de tir-pression, aussi facile que PC13 OMODE-PP IO-MODE !. (Souviens-toi que “!” Indique définir la valeur dans une variable ou un registre.)

Pour configurer PIN PA7 pour l’entrée ADC: PA7 IMODE-ADC IO-MODE!. Test des boutons, à l’aide des résistances de pullup intégrées ou de pulldown: PA3 Imode-Tirez IO-Mode! puis réglez la sortie pour tirer vers le haut ou le bas en utilisant le vrai PA3 Io! ou PA3 iOS !. Vous pourrez ensuite lire l’état du bouton avec PA3 IO @ (“IO GET”) plus tard.

GPIO sur les puces STM32 est très flexible et si vous souhaitez obtenir au fond des options de configuration dans la fiche technique, vous pouvez définir tout cela assez facilement en utilisant le code IO.FS de [JCW]. Par exemple, Io.all imprime tous les registres GPIO et leurs valeurs, ce qui est une aide précieuse pour le débogage interactif. Cela dit, il y a une pièce ici pour une couche de matérielle-abstraction beaucoup plus conviviale, si vous souhaitez y contribuer.

Multitâche sur le rapide

Alors maintenant, nous avons un voyant de clignotant et une impression de port série “Hello World”. Pas un mauvais départ, et ces deux ont bon usage de l’interactivité de FARD: le voyant ne s’allume que lorsque vous tapez Blink. Une des vertus en chef de Forth, pour moi, est la facilité d’entretien entre des tests interactifs de mots, puis de déployer la fonctionnalité dans un système de travail. Une des raisons est que presque toutes les présentations soutiennent le multitâche coopérative de base. Voici ce que je veux dire.

Tout d’abord, boucons notre fonction de clignotement afin que nous n’ayons pas à taper autant. : bb begin blink again ; Crée une fonction, BB pour “Bad Blink”, qui fonctionnera pour toujours. Le problème avec “Run Forever” est en quatrième fois que vous ne revenez jamais à la ligne de commande de l’interprète sans appuyer physiquement sur le bouton de réinitialisation, puis tout ce que vous travailliez dans la RAM est perdu.

Au lieu de cela, clignons des yeux dans une boucle avec une sortie. : GB Commencez la clé de clignotement? jusqu’à ce que ; creates a function that will run our blink command until there’s some input from the keyboard — the return crucial is pressed. This particular looping construct is very beneficial for testing out functions that you’d like to run continuously, without hanging the system. keep it in mind.

Once we’ve tweaked our blink function to run just the way we want it, let’s create a background task so it can blink unattended.

task: blinktask
: clignoter&
blinktask activate
begin blink again
;
multitask
clignoter&

Briefly, the task: word creates some memory space for our blinking background task that we’re calling blinktask. The function blink& does the work in the background. blink& starts off by declaring that it will use the blinktask task context, and that it must start off running. then it goes into an limitless blinking loop from which it never leaves. multitask turns multitasking on, and blink& executes our task. Run it, and the LED blinks while you can still interact with the console. Sucré. type tasks and you’ll see that there are two active: one is our blinker and the other is the interactive interpreter.

But how does the blink task know when to yield to other simultaneous processes? In Forth, the word pause yields from the current context and moves on to the next, round-robin multitasking. The ms function, among others, consists of a pause command, so what looks like a blocking delay in a single-task setup ends up playing fantastically well with your other tasks.

The great thing about cooperative multitasking is that you control exactly when there’s going to be a context switch, which can help eliminate glitches that you’ll find in preemptive systems. The downside is that you’re responsible for remembering to pause your functions now and then, and you have to verify the timing yourself. Of course, this is a microcontroller, and you have the ARM’s quite rich internal interrupt controller to play with as well.

The real point of multitasking on micros in Forth is that it makes a great workflow for writing, testing, and deploying little daemons: functions that want to be “always on”. First, write the function that does the action once. Second, test it in a loop with an escape hatch. Third, once it’s working, remove the escape and make a background task for it. You can then turn it on and off using idle and wake, even from within other tasks. See Mecrisp’s multitask.txt, the source, for a lot more details.

Et après?

So far, we’ve set up Mecrisp-Stellaris, with additional libraries from Jeelabs’ Embello Forth framework, and run some quick demos. If this has piqued your interest, I’ll take you on a walkthrough of building some real software next time. There’s a lot a lot more to say about the way that Mecrisp handles the nuances of flash versus RAM, inputs and outputs, and the practice of interactive development. some of the really freaky aspects of working in Forth will raise their funny-shaped heads, and we’ll learn to love them anyway.

In the meantime, get your cheap STM32F103 boards flashed up with our binary, and get a little bit used to playing around in the Forth environment on the chip. Blink some LEDs. look around the Mecrisp-Stellaris glossary and the embello API documentation. Or just type list to see all the command at your disposal and start hacking away.

Conversion d’un joystick IBM PCJR en USB

Voir ce joystick IBM ramène à nouveau des souvenirs. Cependant, il peut être utilisé sur un système contemporain grâce à ce projet de conversion USB.

Cette conception spécifique avait un connecteur qui est étranger à nous. Il apparaît comme une fiche USB-A Boxy, cependant a une prises à huit broches qui apparaît comme une hauteur de 0,1 “. Vous pouvez essayer de créer votre propre connecteur mâle utilisant un en-tête de broche à double rangée, cependant [Gruso] vient d’aller de l’avant aussi bien que de la fin du câble. Il manipulait de creuser la pin-out pour le gadget et a découvert qu’il pourrait être câblé autant qu’un gameport – le connecteur étant la seule différence authentique. Il a guté un adaptateur de gameport USB, éliminant le connecteur DB15 ainsi que de souder directement au tableau. L’ancien périphérique boxy a juste suffisamment d’espace pour accéder à la maison que les PCB.

Si vous recherchez quelques détails de plus de détails que cet album Development fournit des commentaires [Gruso] dans le fil Reddit.

Tri de deux tonnes de LEGO

Avez-vous déjà pris un taux d’intérêt dans quelque chose, ainsi que découvert, il est un peu hors de main que vos achats en spirale dans une vague de sacs de sacs ainsi que des boîtes? [Jacques Mattheij] s’est découvert dans juste ce réglage avec lego. Ses achats sur Internet s’étaient enfuis avec lui, ainsi que son garage emballés de «deux tonnes métriques» des briques colorées.

L’élimination du LEGO est relativement simple, il existe un marché d’occasion dynamique. Cependant, pour optimiser le retour, il est crucial d’être dans la gestion de ce que vous avez, pour empêcher les fausses pièces de fausse, décolorées, endommagées ou sale. Cela peut finir par être une grosse tâche si vous le faites à la main, il a donc développé un fabricant de tri Lego pour faire la tâche pour lui.

Le fabricant commence par une trémie pour le LEGO lâche, avec une ceinture lâcheuse que des idées de pièces privées sur une goulotte dans une courroie plus rapide proviennent d’un entraîneur en cours d’exécution. En ce sens, ils passent devant une caméra dont les images sont analysées avec un filet neuronal, ainsi que sur son identification, les pièces sont dirigées vers des bacs appropriés avec des jets très soigneusement chronométrés d’air comprimé.

Le résultat est une méthode étonnamment rapide pour des grandes quantités de briques sans intervention humaine. Il a publié des vidéos Quelques vidéos, dont nous avons mis sous la pause, vous pouvez donc voir pour vous-mêmes.

Lego est apparu si beaucoup de fois sur ces pages qu’il est difficile de choisir des liens, mais des trieurs automatisés, il est un peu plus facile. Que diriez-vous de trier les M & MS ainsi que le tri de la résistance automatique.

Merci [Robert] pour la pointe.

Wiitar, un journal de construction

[Ozan] envoyé dans ce journal de construction de quand il a fait un wiitar. Comme vous pouvez probablement deviner du titre, c’est une guitare combinée à un Wiimote. Il a complètement guté le Wiimote et installé les internes de la guitare. Certains commutateurs à bascule ont été montés pour contrôler le bouton états sur le Wiimote. Ceci est une configuration assez utile car vous pouvez utiliser les données WIIMOTE pour contrôler les effets sur la guitare. Nous avons effectivement vu une configuration très similaire auparavant. [Ozan] a inclus le journal de construction, ainsi qu’un script facile GlovePie et un correctif d’effet d’échantillon.

Master Lock Auto-Cracker construit à titre de cours à l’Université

Nous aimons le début de mai, car les projets finaux des cours de collège commencent à se lancer dans notre ligne d’idées. Voici l’un des derniers, c’est un biscuits combinés automatiques de verrouillage maître qui a été construit par [Ross Aiken] et ses camarades de classe dans le cadre de leur classe de conception de système de microprocesseur intégrée ECE453 à l’Université du Wisconsin – Madison.

Nous avons parlé de la facilité avec laquelle ces serrures peuvent être fissurées. Mais [Ross] souligne que les ressources que nous avons liées avant sont défectueuses. Pour obtenir la combinaison aussi rapidement que possible, l’équipe a mis en place un algorithme discuté ici. Leur machine utilise un moteur pas à pas pour transformer le cadran avec un grand solénoïde pour tirer sur la manille. Le système est suffisamment sensible pour découvrir les taches “collantes” de la serrure, qui sont ensuite utilisées pour limiter le nombre de combinaisons possibles avant la brute forçant la combinaison. Comme vous pouvez le voir dans la vidéo après la pause, la manille se déplace légèrement lorsqu’elle est tirée après une combinaison incorrecte. La longue goupille verticale près du solénoïde passera à travers un capteur optique lorsque la combinaison correcte est trouvée.

Avez-vous votre propre projet final à montrer? Qu’attendez-vous, envoyez-nous une idée à ce sujet!

Saisie de prix HackAday: La purification de l’eau collaborative

examine tout type de description d’une usine de traitement de l’eau, ainsi que vous découvrirez une description qui inclut les mots, «réservoirs de coagulation». Quelles sont ces plantes de traitement coagulant? Vous ne voulez pas savoir. Comment ça le fait exactement? Avec des produits chimiques ainsi que des minéraux. Évidemment, il y a autre chose qui peut être fait.

Pour leur prise de prix HackAday, [Ryan], [Designbybeck], [CLINT], [WANDA] ainsi que [Maker Mark] étudie l’électrocoagulation. C’est un alternance d’une brèche de produits chimiques qui utilise l’électricité pour tirer des contaminants hors de l’eau.

À l’heure actuelle, les tests sont beaucoup plus petits que les dizaines d’innombrables gallons que vous découvririez dans une station de traitement de l’eau. En fait, la plate-forme de test n’est qu’un pot de maçon de 16 onces. Bien que cela ne soit pas suffisant pour précipiter les contaminants d’une alimentation en eau à domicile, il est énorme pour une preuve de concept.

L’équipe utilise deux électrodes pour cette construction, une aluminium, ainsi qu’un fer. Ces électrodes sont liées via alligator conduit à la carte électronique qu’ils ont construite. Ce tableau électronique est essentiellement juste un pont H (utilisé afin de pouvoir inverser la polarité de l’émetteur de champ, ainsi que d’empêcher une accumulation de gunk sur les électrodes) ainsi que de quelques connecteurs à une alimentation. Les résultats sont encourageants; Ils ont quelques vidéos de temps-lapse d’un pot de maçon d’eau sale, nettoyant avec le pouvoir de l’électricité. C’est un travail fantastique avec une documentation fantastique. L’équipe a déjà beaucoup de mises à jour sur leur travail et des instructions sur exactement comment reproduire leur matériel. Vous pouvez inspecter ces vidéos ci-dessous.

Le Hackadayprize2017 est sponsorisé par:

Conception pratique du boîtier, optimisée pour l’impression 3D

[hubs 3D] ont partagé un guide utile sur le développement de boîtiers utiles et conviviaux en 3D. Le guide marche avec le style d’une coquille deux, deux boutons à distance gérer une enceinte. Il permet à un PCB monté à l’intérieur, soumet un port USB, ainsi que optimisé pour l’impression 3D sans se peindre dans un coin dans le processus. [3D HUBS] utilise la combinaison 360 (gratuitement aux hobbyistes ainsi que les startups) dans leurs exemples, mais les principes de style sont rapidement mis en œuvre avec tout type d’outil.

L’une des suggestions consiste à organiser des pièces avec des épaisseurs de paroi qui sont plusieurs du diamètre de la buse de l’imprimante. Par exemple, une épaisseur de paroi de 2,4 mm peut être un peu arbitraire arbitraire d’abord, mais elle se divise rapidement par le diamètre de buse FDM commun de 0,4 mm, ce qui rend les résultats tranchés beaucoup plus cohérents et fiables. Beaucoup d’entre nous ont à peu près rencontré une conception où le slicer ne peut pas choisir de décider de la manière de traiter une fonctionnalité mince, offrant soit un espace entre les périmètres, soit une tentative inconfortable de remplir, ainsi que cette méthode permet de réduire cela. Une autre suggestion consiste à minimiser le nombre de bords tranchants dans la conception, car les coins arrondis impriment beaucoup plus efficacement que les mouvements plus lisses de la tête d’impression.

La route des enclos a de nombreux chemins, y compris des enceintes en FR4 (matériau de circuit imprimé AKA) tout le procédé vers le bas du bois de ferraillage avec un étiquetage de virement de toner, ainsi que définitivement une impression 3D de bureau a été une aubaine à quiconque a dû percer sans joie. comme étant éloigné d’une boîte en plastique sans relief.